checkId: check.servicegraph.endpoints plugin: stellaops.doctor.servicegraph severity: fail tags: [servicegraph, services, endpoints, connectivity]
Service Endpoints
This Doctor check helps operators verify that every configured Stella Ops service is reachable and reporting healthy, so a single broken internal dependency does not silently degrade release orchestration.
What It Checks
Collects configured service URLs for Authority, Scanner, Concelier, Excititor, Attestor, VexLens, and Gateway, appends /health, and probes each endpoint. The Gateway entry resolves StellaOps:GatewayUrl first and otherwise falls back to the platform router key Router:Gateways:0:Host (compose Router__Gateways__0__Host), composing an https://<host> base URL. That router key is what the standard deployment sets, so the Gateway endpoint is probed on the real environment instead of the whole check silently skipping when only the router key is present.
| Condition | Result |
|---|---|
| No endpoints configured | skip |
| Every configured endpoint returns a success status | pass |
| Any endpoint is unreachable or returns a non-success status | fail |
Why It Matters
Stella Ops is a multi-service platform. A single broken internal endpoint can stall release orchestration, evidence generation, or advisory workflows even when the main web process is alive.
Common Causes
- One or more
StellaOps:*Urlvalues are missing or point to the wrong internal service name - Internal DNS or network routing is broken
- The target workload is up but not exposing
/health
How to Fix
Docker Compose
Set the internal URLs explicitly:
StellaOps__AuthorityUrl: http://authority-web:8080
StellaOps__ScannerUrl: http://scanner-web:8080
StellaOps__GatewayUrl: http://web:8080
Probe each endpoint from the Doctor container:
docker compose -f devops/compose/docker-compose.stella-ops.yml exec doctor-web curl -fsS http://authority-web:8080/health
docker compose -f devops/compose/docker-compose.stella-ops.yml exec doctor-web curl -fsS http://scanner-web:8080/health
Bare Metal / systemd
Confirm the service-discovery or reverse-proxy names resolve from the Doctor host.
Kubernetes / Helm
Use cluster-local service DNS names and check that each workload exports a health endpoint through the same port the URL references.
Verification
stella doctor run --check check.servicegraph.endpoints
Related Checks
check.servicegraph.backend— the backend is usually the first endpoint operators validatecheck.servicegraph.mq— asynchronous workflows also depend on messaging, not only HTTP endpoints
