status-page¶
Status: Current | Last reviewed: 2026-06-16
A health dashboard. Reports the same view in production (Kubernetes) and Vanguard (Docker + Overmind), and can also run as a central fleet aggregator that rolls up every environment into one page.
Source¶
Runtime¶
| Aspect | Value |
|---|---|
| Language | Python 3.12 |
| Framework | FastAPI |
| Modes | kubernetes (default), docker, or fleet |
STATUS_BACKEND selects the mode. In a dev env (DEV_ENV = codespace/ec2/laptop) it defaults to docker; otherwise kubernetes. The devcontainer start script also exports STATUS_BACKEND=docker explicitly. Setting STATUS_BACKEND=fleet turns the same app into a central aggregator (below).
kubernetes— queries the in-cluster API (RBAC-scoped to its namespace) for deployments + pods.docker—docker_mode.pyreads the Docker daemon plus the Overmind socket and returns the same JSON shape. (overmind statusprints aPROCESS PID STATUSheader row; the parser skips it so the literal "PROCESS" header isn't reported as a dead process.)fleet—fleet_mode.pymakes no cluster inspection of its own; it polls each environment's existingGET /api/statusand rolls the results up.
All three serve the same /api/status contract (so a fleet page can aggregate docker- and kubernetes-mode envs interchangeably).
What it does¶
- Probes every service for
/health(or its equivalent). - Surfaces version, uptime, and recent restart count.
- Renders a single-page summary at
/.
Dependencies¶
| Service | Purpose |
|---|---|
| Kubernetes API | Pod listing in K8s mode |
| Docker daemon | Container listing in docker mode |
| Overmind socket | Process listing in docker mode |
Each env's status.<host> |
/api/status polling in fleet mode |
Vanguard¶
overmind restart status-page
Port :8097 (the docs/10-reference/ports.md 8050 entry is stale). Reachable at https://status.<host>.dev.trueserve.deloitte.com.
Fleet mode (central aggregator)¶
STATUS_BACKEND=fleet runs this same app as a single dashboard over every environment — Vanguard plus the six city boxes — with drill-in to each env's services. It makes only outbound HTTPS calls to the public status.<host>/api/status endpoints each env already serves, so the central box needs no access to the environments' Docker/Kubernetes/SSM, and nothing changes on the environment boxes.
It renders an overview (envs healthy/degraded/down/unreachable + fleet service counts) and a card per environment (health badge, service counts, a link out to that env's own page, and an expandable services table — any non-healthy env is expanded by default). Routes: / (HTML), /api/fleet (JSON), /health.
An env's rollup state is intentionally lenient: unreachable if it returns nothing, down (red) only on a total outage (zero healthy services), otherwise degraded (yellow) if any service is down/degraded, else healthy. A handful of down services out of ~50 (e.g. the known-dead connect-kvs-connector) is the fleet's normal steady state, so it shows degraded rather than painting the whole env red.
Configure via FLEET_TARGETS (newline/comma list of slug = Label = https://status.<host>; /api/status is appended automatically). Unset → built-in default of Vanguard + the 6 cities. FLEET_TIMEOUT_SECONDS (default 4) bounds each per-env fetch.
Live at https://status.trueserve.deloitte.com/ (deployed 2026-06-16) on the tooling EC2 (i-0ab2b3aa8d3fcc2ba, us-east-1, SSM-only). That box runs a Kind cluster (tooling) with ingress-nginx + wildcard TLS, so the fleet page is a standalone Kubernetes manifest in the tooling namespace — kubectl apply, NOT part of the box's 222-revision tooling Helm release. Manifest + deploy script + a Docker-compose alternative for non-K8s boxes: apps/status-page/fleet/.
Production¶
Helm chart at charts/status-page.