← All field notes
Field note

RillDNS: a compact operations layer around CoreDNS

RillDNS packages the less glamorous parts of running DNS around CoreDNS: changing zones safely, replicating them, managing block lists, observing the result, and giving operators an authenticated interface.

Small, reviewable changes

Zone and RRset edits are atomic and revisioned, with dry-run plans and an audit log before a change becomes live. A writable primary notifies a read-only secondary, which retrieves a TSIG-authenticated AXFR and retains a last-known-good snapshot. Differential probes then query both sides over UDP and TCP to catch inconsistencies, including edge cases that a simple health endpoint would miss.

The same stack can compile daily domain and hosts-file blocking rules with explicit allow and deny overrides. Its query telemetry is deliberately aggregate-only: it counts blocked-query rates and immediately discards the queried name and client address.

Operator surfaces

RillDNS provides a REST API, an SSH-stdio MCP server, Prometheus metrics, and an OIDC-protected web console. The reference topology keeps the primary management API behind HTTPS while clients use a secondary through a DNS virtual IP.

This is operational software for experienced self-hosters and small infrastructure teams, not a hosted DNS product. The deployment examples still expect the operator to supply the network design, firewall, backups, and key management. Native DNSSEC signing is also intentionally outside the current scope.

Source and documentation: github.com/kilo666mj/rilldns.