feature/sz/master-slave-compatible #1

Open
simon wants to merge 2 commits from feature/sz/master-slave-compatible into master
Owner

Motivation

acme-dns historically assumed a single authoritative DNS server.
In environments using DNS master/slave (secondary) servers with zone transfers,
this can result in inconsistent responses, missing records, or SERVFAILs
during DNS challenge validation.

This PR adds proper support for DNS slave configurations by:

  • bumping SOA serial when zone data changes
  • sending DNS NOTIFY to slaves
  • supporting AXFR zone transfers

Changes

  • implement SOA serial bump logic
  • add DNS NOTIFY handling
  • support AXFR for slave servers
  • refactor DNS engine for slave compatibility

Testing

Tested in environments with:

  • master + one or more DNS slaves
  • zone transfer (AXFR) working
  • TXT protocols resolving correctly from both master and slaves

No regressions observed on single-server setups.

Checklist

  • Works with DNS slaves
  • No breaking changes
  • Follow project conventions
  • Tests updated
  • CI passes
### Motivation acme-dns historically assumed a single authoritative DNS server. In environments using DNS master/slave (secondary) servers with zone transfers, this can result in inconsistent responses, missing records, or SERVFAILs during DNS challenge validation. This PR adds proper support for DNS slave configurations by: - bumping SOA serial when zone data changes - sending DNS NOTIFY to slaves - supporting AXFR zone transfers ### Changes - implement SOA serial bump logic - add DNS NOTIFY handling - support AXFR for slave servers - refactor DNS engine for slave compatibility ### Testing Tested in environments with: - master + one or more DNS slaves - zone transfer (AXFR) working - TXT protocols resolving correctly from both master and slaves No regressions observed on single-server setups. ### Checklist - [x] Works with DNS slaves - [x] No breaking changes - [x] Follow project conventions - [x] Tests updated - [x] CI passes
simon added 2 commits 2026-02-24 20:04:23 +00:00
add AXFR request handling to support slaves
Some checks failed
E2E Tests / e2e-tests (pull_request) Failing after 7s
golangci-lint / lint (pull_request) Failing after 4s
Go Coverage / Build and Test (pull_request) Failing after 13m36s
b2701161cb
Some checks failed
E2E Tests / e2e-tests (pull_request) Failing after 7s
golangci-lint / lint (pull_request) Failing after 4s
Go Coverage / Build and Test (pull_request) Failing after 13m36s
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feature/sz/master-slave-compatible:feature/sz/master-slave-compatible
git checkout feature/sz/master-slave-compatible
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: simon/acme-dns#1
No description provided.