feat(config): support TOML config file alongside env vars
Summary
- Add TOML config file support: loads
/app/config.toml(container) or./config.toml(local dev) when present - Env vars override file values; missing file silently ignored so env-only deployments keep working
- Unknown keys and malformed TOML fail fast before polling begins
- Dockerfile copies
config.tomlto/app/config.tomlas the default container config
Test plan
-
make py/pytestpasses (49 tests) -
make runconnects to meter and emitsmetric_read_succeededevents -
Start with config file only (no env vars) — service starts normally -
Start with env var overriding a file value — env var wins -
Start with malformed TOML — fails before first poll with configuration_errorevent -
Start with unknown TOML key — fails with key name in error message
Edited by BhEaN