central is a multi-domain real-time data-hub spine. Adapters normalize upstream sources, publish CloudEvents to **NATS/JetStream**, and archive to **TimescaleDB/PostGIS** for historical and geospatial query. It is the live data backbone for navi traffic tiles and related situational-awareness feeds.
- **URL (internal):** http://central.echo6.mesh:8000 (mesh-only, no public exposure)
The data flow is: upstream APIs → adapters (central-supervisor) → NATS/JetStream :4222 → central-archive (TimescaleDB/PostGIS :5432). The central-gui (FastAPI + HTMX, :8000) exposes the API consumed by navi via recon-vm's nginx (port 8440, `^~ /api/traffic/` → `central.echo6.mesh:8000`).
navi-traffic (navi's in-VM :8421 extraction service) was **retired on 2026-05-26** and cut over to central. recon-vm's nginx (`/etc/nginx/sites-available/navi.echo6.co`, port 8440) now proxies `^~ /api/traffic/` → `central.echo6.mesh:8000` with a 120s tile cache. navi-traffic:8421 is confirmed dead and disabled. Tile endpoints verified returning HTTP 200.
Single TimescaleDB hypertable `public.events` (~22 GB, ~3.19 M rows, 331 chunks, compression not enabled). JetStream ~5.86 GB / 20 GB across 12 streams.
## Deploy / Drift Notes (as of 2026-06-27)
- **Deployed HEAD:** v0.14.5 (detached HEAD, not a branch) — caught up to latest tag since the 2026-06-18 audit.
- **Uncommitted local migration:** `sql/migrations/036_add_avalanche_org_adapter.sql` — untracked on disk, already applied in the DB (avalanche_org row live), but missing from the repo so a clean rebuild would skip it. A PR to commit it is in progress.
- **Stale `pyproject.toml`:** version field shows 0.3.0 (stale); being fixed in the same PR.
- **Stale README:** still reads *"Phase 0 — scaffold, not yet operational"* (stale); being fixed in the same PR.
- **Zero-event adapters:** `avalanche_org` (off-season severity gate — expected) and `eonet` (under investigation) are enabled but have produced no events.