Central - data hub spine. Adapters -> NATS/JetStream -> archive.
  • Python 90.6%
  • HTML 9%
  • PLpgSQL 0.4%
Find a file
Matt Johnson 6c21875738 fix: add programmaticMove flag to prevent viewport refresh loop
Suppress moveend handler during fitBounds/setView calls to prevent
feedback loop: fitBounds -> moveend -> applyViewportFilter -> HTMX
swap -> repeat.
2026-05-18 18:35:27 +00:00
docs
etc-templates
scripts
sql feat(api): add paginated events feed JSON endpoint (#25) 2026-05-17 22:31:00 -06:00
src/central fix: add programmaticMove flag to prevent viewport refresh loop 2026-05-18 18:35:27 +00:00
systemd
tests feat: events feed UX iteration - colors, popups, viewport filter 2026-05-18 17:31:36 +00:00
.gitattributes
.gitignore
.python-version
CHANGELOG.md
LICENSE
pyproject.toml
README.md
uv.lock

Central

Central is the data hub spine for the infrastructure. Adapters normalize upstream sources into a canonical event shape, publish CloudEvents to NATS/JetStream, and archive to TimescaleDB for historical query. Single-LXC deployment.

Status

Phase 0 — scaffold. Not yet operational.

Architecture

  • Python 3.12 (uv-managed)
  • NATS + JetStream for live event bus
  • TimescaleDB + PostGIS for archive and geospatial query
  • One supervisor process managing adapter lifecycle
  • One archive consumer process persisting events to TimescaleDB
  • Both processes systemd-managed

Testing

See docs/test-database.md for test database setup.

License

MIT. See LICENSE.