Development Harness#
cb dev is for provider authors. It never uses the user’s normal broker
process. Runtime state and logs are created under a temporary workspace for
each run unless --keep is used.
Commands#
cb dev validate SERVICE: static service-spec checks only.cb dev run SERVICE: start, observe, collect logs/events, and stop.cb dev test SERVICE --scenario start-stop: lifecycle smoke test.cb dev test SERVICE --scenario health: observe the configured health check.cb dev test SERVICE --scenario crash: kill the target child process and verify restart policy.cb dev report SERVICE: run validation, smoke, health, and crash checks.
Check Status#
Each check has one of these statuses:
pass: the service satisfied the check.warn: the service may still work, but the provider should review the finding.skip: the check was intentionally not applicable.fail: the service failed conformance and the command exits non-zero.
Warnings do not make the report fail. Failures do.
JSON Shape#
Single-result commands return:
{
"conformance": {
"ok": true,
"service": "my-provider.api",
"command": "test",
"scenario": "health",
"workspace": "/tmp/conda-broker-dev-abcd",
"kept": false,
"checks": [
{
"name": "health.observed",
"status": "pass",
"message": "health check reported healthy",
"data": {}
}
],
"status": {
"name": "my-provider.api",
"state": "ready",
"running": true,
"health": "healthy",
"ready": true,
"restart_count": 0,
"endpoints": {
"default": {
"name": "default",
"protocol": "http",
"host": "127.0.0.1",
"port": 8765,
"path": "/health",
"url": "http://127.0.0.1:8765/health"
}
}
},
"events": [],
"logs": []
}
}
cb dev report --json returns:
{
"ok": true,
"service": "my-provider.api",
"command": "report",
"results": []
}
Each result in results has the same shape as the single-result
conformance object.
Endpoint-aware services get additional checks such as
endpoint.declared, endpoint.resolved, and endpoint.reachable.