A DNSRecord for an apex NS silently appends instead of replacing #23
Reference in New Issue
Block a user
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?
BIND ignores an RRset-wide delete of NS or SOA at a zone apex.
NSUpdateimplements replace asupdate delete <fqdn> <type>followed byupdate add, so a DNSRecord withname: "@"andtype: NSonly ever adds to the live RRset -- the delete is dropped and the transaction still reports success.Live example:
acme.unkin.netpublishes bothns1.acme.unkin.net.(from the zone seed) andacme-ns1.unkin.net.(from DNSRecordacme-apex-ns, whose spec lists only the latter). The DNSRecord has reconciled cleanly for weeks and has never been able to retract the seeded name.BindZone gained
spec.nameserversin v0.3.0, which converges the apex NS per rdata and is the working path. DNSRecord has no equivalent.Proposal
apexNSUpdatesdoes: add the desired values, delete the live values that are not desired, adds first.BindZone.spec.nameservers, so the failure is visible instead of silent.Acceptance criteria