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 |
|