Commit graph

1 commit

Author SHA1 Message Date
Brandon Schneider
ebcf0571ec feat(infra): external service registry via InfinityFree MySQL
service_registry.py — mesh-independent node discovery and credential store.

Tables:
  nodes       — registered devices with capabilities, tier, IPs
  credentials — encrypted blobs (ChaCha20) with TTL auto-expiry
  config      — distributed key-value configuration

Features:
  - auto_register() — uses device_capability_probe to register
  - discover_nodes() — find nodes by tier, with max-age filter
  - store/get_credential() — encrypted at rest, short TTL
  - heartbeat() — keepalive for node registry
  - CLI: init, register, discover, store, get, cleanup, config-set/get

Any node with internet can reach it (no Tailscale required).
Credentials encrypted with ChaCha20, key from REGISTRY_ENCRYPT_KEY env.
2026-05-30 21:14:51 -05:00