Skip to content

feat: primary and secondary zone transfers#538

Merged
zachsmith1 merged 7 commits intomainfrom
feat/zonetransfers
Jan 12, 2026
Merged

feat: primary and secondary zone transfers#538
zachsmith1 merged 7 commits intomainfrom
feat/zonetransfers

Conversation

@zachsmith1
Copy link
Contributor

@zachsmith1 zachsmith1 commented Jan 7, 2026

This enhancement proposes a model for Primary and Secondary DNS Zone transfers. It introduces DNSZone (Primary/Secondary roles) and TSIGKey (with zoneRef ownership) to require TSIG for Secondary imports and enable optional outbound transfers for Primaries. Transfers run on a dedicated xfr1 transfer plane while anycast edges remain serve-only, improving security and multi-tenant safety with a default-deny posture and presence-implies-intent config. The goal is a secure, reliable, and maintainable foundation for DNS at Datum that maps to PowerDNS initially and remains provider-agnostic over time.

@drewr
Copy link

drewr commented Jan 7, 2026

Thanks! What's the upstream ticket for this?

@drewr drewr added this to the Datum Cloud 1.1 milestone Jan 7, 2026
@drewr
Copy link

drewr commented Jan 7, 2026

Will track release via the PR for now. @brian-toresdahl-datum you good with this being prioritized this month?

@brian-toresdahl-datum
Copy link

Definitely.

Copy link
Contributor

@scotwells scotwells left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something I don't see covered in this doc is how DNS records are created for Zones that are configured as secondaries. Would we reconcile all of the records that are created through the zone transfer and replicate them into Datum's control plane so a user knows all of the records we've received?

Also curious what type of status information we can offer to consumers about zone transfers so they understand the health. Status information may be a good argument to make zone transfers a separate resource so its status isn't conflated with general zone status.

Copy link
Contributor

@scotwells scotwells left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API design looks good.

Some things to consider for a follow up PR:

  • May be good to expand the user stories section with some examples of what steps a user would need to take to use this functionality. Especially since there's steps users would need to take in their DNS provider to make this work correctly.
  • Would be good to have architecture diagrams showing the relationship between various components that are needed for this system

@zachsmith1 zachsmith1 merged commit dc8cfe3 into main Jan 12, 2026
@zachsmith1 zachsmith1 deleted the feat/zonetransfers branch January 12, 2026 17:50
@drewr
Copy link

drewr commented Jan 16, 2026

For #545 (backreference)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants