Central - data hub spine. Adapters -> NATS/JetStream -> archive.
  • Python 90.5%
  • HTML 9.1%
  • PLpgSQL 0.4%
Find a file
Ubuntu fab452aa02 feat(config): add AES-256-GCM crypto primitives
Add encrypt/decrypt functions using AES-256-GCM for secret storage.
Master key loaded from file path specified in bootstrap config.

Features:
- 32-byte key from base64-encoded file
- 12-byte random nonce per encryption
- AEAD authentication (detects tampering)
- Key caching with clear_key_cache() for rotation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-15 23:07:41 +00:00
docs scaffold: initial repository structure 2026-05-15 19:16:24 +00:00
etc-templates scaffold: initial repository structure 2026-05-15 19:16:24 +00:00
scripts scaffold: initial repository structure 2026-05-15 19:16:24 +00:00
sql foundation: models, adapter ABC, config, CE wire, schema 2026-05-15 21:08:56 +00:00
src/central feat(config): add AES-256-GCM crypto primitives 2026-05-15 23:07:41 +00:00
systemd runtime: NWS adapter, supervisor, archive consumer, systemd units 2026-05-15 21:29:08 +00:00
tests feat(config): add AES-256-GCM crypto primitives 2026-05-15 23:07:41 +00:00
.gitignore scaffold: initial repository structure 2026-05-15 19:16:24 +00:00
.python-version foundation: models, adapter ABC, config, CE wire, schema 2026-05-15 21:08:56 +00:00
LICENSE scaffold: initial repository structure 2026-05-15 19:16:24 +00:00
pyproject.toml runtime: NWS adapter, supervisor, archive consumer, systemd units 2026-05-15 21:29:08 +00:00
README.md scaffold: initial repository structure 2026-05-15 19:16:24 +00:00
uv.lock foundation: models, adapter ABC, config, CE wire, schema 2026-05-15 21:08:56 +00:00

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

License

MIT. See LICENSE.