0045: Keel DNS, PowerDNS authoritative #50
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/tracker#50
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Decision (maintainer, 2026-10-02). Keel DNS is a new appliance on Keel Core running PowerDNS Authoritative. It is authoritative for the zones it serves, which sets it apart from every other appliance. Health checked answers use PowerDNS's built in LUA records (
ifportup,ifurlup), so a name resolves only to live nodes. At least two authoritative servers in different sites (0025 site rule). It fills 0024's open item: nodes behind NAT with changing IPv6 prefixes update their own records by RFC 2136 dynamic update with TSIG, or through the etcd registry. It serves the public on 53/udp and 53/tcp, has no Keel Web in front, its exposure class is public, and it is the first appliance whose failure affects all the others.Package facts (trixie, 2026-10-02):
pdns-server4.9.17-0+deb13u1, everypdns-backend-*at the same version,pdns-tools4.9.17-0+deb13u1,dnsdist1.9.16-0+deb13u1,bind9-dnsutils(nsupdate) 1:9.20.29-1~deb13u1. LUA records verified in the trixie binary:enable-lua-records,lua-health-checks-interval,ifportup,ifurlup; RFC 2136 throughallow-dnsupdate-from,TSIG-ALLOW-DNSUPDATEandlua-dnsupdate-policy-script;default-catalog-zonepresent.Handbook:
docs/decisions/0045-keel-dns-powerdns-authoritative.md(handbook#38)Amends: 0020 (DNS with a health check becomes an appliance, not a Keel Cloud piece), 0024 (its open DNS item decided), 0028 (primary and replica as DNS primary and secondary), 0029 (Keel DNS is not behind the VIP; its redundancy is NS records in different sites).
Open questions (recommendations in the note)
gsqlite3local per server with NOTIFY, zone transfer and catalog zones; the etcd feed writes into the primary through the API, never a live etcd backendFirst tasks (after Phase 3, before Phase 5; the registry feed in Phase 5)
keel-overlay-pdns: PowerDNS from trixie,gsqlite3, LUA records on, manifest with 53/udp and 53/tcp public and a Monitprotocol dnscheckkeel-dnsappliance on Core, simple mode; zones and health checked names in the spec, rendered by keel