Kevin

Config Sync + Hot Reload

services.yaml ↔ env ↔ running services.

Config Sync + Hot Reload (v2026-09-30T102447Z-5e473105f4) 2026-09-30 | services.yaml ↔ env ↔ running services. 1 - CONFIG FETCH - Fetching and Applying Config ConfigSync daemon/src/config_sync.py GET /api/config/version Check master's config version hash config.json daemon/config/config.json Apply locally Local config storage Flynn daemon http://WORKER_HOST:8001 Fetch master's config Master config server config version… local config 2 - CONFIG HOT RELOAD - Reloading Config on Changes ConfigHotReload daemon/src/config_hot_reload.py SIGHUP Handle hot reload env os.environ Apply live-safe changes Environment variables Daemon daemon Log changes Running daemon env changes live-safe chan… 3 - CONFIG PUBLISH - Publishing Config Changes ConfigBus daemon/src/config_bus.py config.set Publish config changes event_bus config:update config:update:{section} Publish events config.json daemon/config/config.json Persist changes Local config storage config changes published even… 1. Fetch config versio… 2. Compare local and m… 3. Fetch master's conf… 4. Apply config locally 5. Log the sync 6. Handle hot reload o… 7. Publish config chan… 8. Persist changes to… ConfigSync - SyncEvent status: success local_hash: abc123 master_hash: def456 error: null changes_applied: {"key1": "value1"} ConfigBus - ConfigEntry path: silas.bin value: newbin changed_at: 2023-10-01T12:00:00Z change_count: 1 ConfigSync uses HTTP polling to check for config changes. ConfigHotReload handles live-safe and restart-required changes. ConfigBus publishes config changes to the event bus. Legend actor = initiates work · process = code path · store = state on disk · bus = durable queue · dashed = separate process cyan = request flow · pink = state read/write · dashed green = pull / return path · red = refusal As of 2026-09-30 10:24 UTC, from commit 5e47310

Provenance

This drawing is generated, not drawn. It is rebuilt from the source files below, so when they change the picture changes — a diagram here cannot quietly describe a system that no longer works this way.

Owner
Kevin
Slug
config-sync
Rendered
2026-09-30T102447Z
From commit
5e473105f4
Updated
30 Sep 2026, 10:24 UTC
Sources at
5e47310
Watches
6 paths
  • daemon/src/config_sync.py
  • daemon/src/config_hot_reload.py
  • daemon/src/config_bus.py
  • daemon/src/config_router.py
  • daemon/src/config_server.py
  • daemon/config