Skip to content

PowerDNS Authoritative DigitalOcean DNS

Migrate DNS from PowerDNS to DigitalOcean.

8 record types move as they are. 3 things work differently at DigitalOcean, and the preview shows exactly which of your records they affect.

Free preview. Read-only. Nothing changes until you apply.

What works differently

Generated from the same provider capability data the migration engine uses.

Moves as-is

  • A
  • AAAA
  • CNAME
  • MX
  • TXT
  • NS
  • SRV
  • CAA

Alias records are converted

PowerDNS alias records become CNAMEs below the apex. At the apex they need static addresses, and the preview shows which ones.

TTLs below 30s are raised

DigitalOcean's minimum TTL is 30 seconds. Shorter TTLs are raised to 30s and shown as translated.

A typical PowerDNS zone at DigitalOcean

Example records for example.com. Open any flagged row to read why it changed.

PowerDNS DigitalOcean

  • ExactA@

    192.0.2.70

  • ExactAAAA@

    2001:db8::70

  • ExactMX@

    10 mx1.mail.example.net. +1

  • ExactTXT@

    "v=spf1 include:_spf.example.net -all"

  • ExactCAA@

    0 issue "letsencrypt.org"

  • ExactTXT_dmarc

    "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"

  • ExactSRV_sip._tls

    100 1 443 sip.example.net.

  • ExactCNAMEwww

    example.com.

How the move works

  1. 1

    Connect PowerDNS

    Connect PowerDNS with read-only access (API URL + API key (X-API-Key) + server ID).

  2. 2

    Connect DigitalOcean

    Connect DigitalOcean (Personal access token (custom scopes)). Write access is only used when you apply.

  3. 3

    Review the preview

    Check every record marked Review or Unsupported. Each one explains what changes and why.

  4. 4

    Apply to DigitalOcean

    We snapshot the DigitalOcean zone, write in batches, and leave PowerDNS untouched.

  5. 5

    Verify

    We query DigitalOcean's own nameservers for every record and compare the answers before you switch.

  6. 6

    Switch nameservers

    Lower TTLs a day or two ahead, remove any DS record if DNSSEC is on, then point the domain at the new nameservers at your registrar.

Good to know about PowerDNS

  • We only connect to public HTTPS addresses: expose the PowerDNS webserver through a reverse proxy with TLS and allow-list our egress IPs; private or internal addresses are refused.
  • ALIAS records only resolve if expand-alias and a resolver are configured on the server, and DNAME needs dname-processing.
  • Disabled records are not imported, and an RRset we update is replaced as a whole, so disabled entries inside it are dropped.

Access we need: The PowerDNS API key grants full read/write access to every zone on the server; there is no read-only key. Restrict it with webserver-allow-from.

Good to know about DigitalOcean

  • DigitalOcean nameservers don't support DNSSEC, so turn DNSSEC off at the registrar before switching to them.
  • TXT records are limited to roughly 500 characters in total and can't contain backslashes.
  • CAA records can't use a bare ";" value or CA parameters such as "letsencrypt.org; accounturi=…".

Access we need: domain:read for the preview; domain:read, domain:create, domain:update and domain:delete to apply.

Questions

Will there be downtime moving from PowerDNS to DigitalOcean?

Not if both providers serve the same answers during the switch. The records are copied to DigitalOcean and verified before you change nameservers, so resolvers get the same answer from either side while caches expire.

Do I have to delete anything at PowerDNS?

No. We never write to PowerDNS. Keep the old zone for a week after cutover so you can switch back instantly if anything looks wrong.

What about DNSSEC?

If DNSSEC is on, remove the DS record at your registrar and wait for it to expire before switching nameservers. Then enable DNSSEC at DigitalOcean and publish its new DS record. The cutover plan walks you through each step.

Ready to see your own zone?

Start a free preview