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.

ConditionResult
No endpoints configuredskip
Every configured endpoint returns a success statuspass
Any endpoint is unreachable or returns a non-success statusfail

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

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