feat: implement M2 — multiple upstreams & config

- Failover strategy: try resolvers in order until one succeeds
- Env var overrides: DOH_LISTEN, DOH_UPSTREAM_STRATEGY, DOH_UPSTREAM_RESOLVERS
- Graceful shutdown on SIGINT/SIGTERM
- Strategy parsed from config string to enum
- 14 tests passing, clippy clean, fmt clean
This commit is contained in:
2026-07-06 17:13:45 +03:30
parent 3a5c0d2aba
commit 13bf8ba528
7 changed files with 205 additions and 18 deletions

View File

@@ -46,11 +46,11 @@ A lightweight DNS-over-HTTPS (DoH) forwarder that accepts DNS queries over HTTPS
### M2 — Multiple Upstreams & Config
- [ ] TOML config file support
- [ ] Multiple upstream resolver support
- [ ] Upstream selection strategy (round-robin / failover)
- [ ] Environment variable overrides
- [ ] Graceful shutdown
- [x] TOML config file support
- [x] Multiple upstream resolver support
- [x] Upstream selection strategy (round-robin / failover)
- [x] Environment variable overrides
- [x] Graceful shutdown
### M3 — Caching