Skip to content

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

apps/status-page

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.py reads the Docker daemon plus the Overmind socket and returns the same JSON shape. (overmind status prints a PROCESS PID STATUS header row; the parser skips it so the literal "PROCESS" header isn't reported as a dead process.)
  • fleet — fleet_mode.py makes no cluster inspection of its own; it polls each environment's existing GET /api/status and 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.

See also