Interactive Advisory-Source Probes

The Console’s source Check and Check All actions call Concelier’s source-management endpoints. These are interactive readiness probes, not connector ingestion runs.

HTTP contract

This contract is source-neutral. Do not add vendor-specific timeout handling for a slow endpoint.

Timeout configuration

sources:ConnectivityCheckTimeoutSeconds is the single authoritative budget for interactive probes:

Values above 12 fail options validation at startup. The ceiling is intentionally below Router’s unchanged 30-second request budget so Concelier has time to serialize and route the typed result instead of allowing the gateway to emit HTTP 504.

The named source HttpClient instances do not impose a second request timeout. The linked per-probe cancellation token owns the budget. Connector fetch/sync jobs retain their separate connector-specific timeouts; those non-interactive settings do not control the Check or Check All actions.

No explicit compose override is required. With no SOURCES__CONNECTIVITYCHECKTIMEOUTSECONDS value, the service uses the validated 12-second default.

Deployment state

As of 2026-07-20, the local stellaops-concelier container is healthy but still runs pre-fix source commit 4740c0e7ac396f3fb421145a367538528f0a72ab, with no explicit interactive-probe timeout override. The contract documented here becomes live only after a coordinated Concelier rebuild and service recreation. Do not treat source-level verification as proof that the current container has converged.

Verification

Use an authenticated source-management identity and inspect both the outer HTTP response and typed body:

POST /api/v1/advisory-sources/{sourceId}/check
outer status: 200
body.status: Failed
body.errorCode: TIMEOUT
body.latency: present

For a non-success upstream response, body.httpStatusCode carries that upstream code. A gateway 504 means the live Concelier image/configuration has not converged to this contract or another boundary consumed the request budget first.