Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Architecture decision records

Decisions that shape dns-rs and would be hard to reverse, with the reasons behind them. Accepted records are never rewritten; a new record supersedes an old one.

#DecisionStatus
0001Rust, with hickory-proto and our own server loopAccepted
0002Replicas are statelessAccepted
0003Declarative TOML configurationAccepted
0004No DHCP serverAccepted
0005Blocking runs before the cache, on an atomically swapped policyAccepted
0006Blocklist matching semanticsAccepted
0007Bounded, fail-soft blocklist downloadsAccepted
0008Test-driven development, enforced by CI and agentsAccepted
0009Agent permissions are enforced outside promptsAccepted
0010Hot reload by polling and SIGHUP, blocking settings onlyAccepted, amended by 0016
0011Per-replica metrics with bounded labelsAccepted
0012The API requires a bearer tokenAccepted, amended by 0015
0013The container listens on an unprivileged portAccepted
0014The Helm chart takes the configuration as TOML textAccepted
0015The API token file is reloadedAccepted
0016Local recordsAccepted
0017Conditional forwardingAccepted