Back to updates
New releaseAug 19, 2026

dnscontrol v5.0.0-rc9

Infrastructure as code for DNS!

Share

DNSControl

DNSControl/dnscontrol/build Google Group PkgGoDev

DNSControl is Infrastructure as Code for DNS. It includes a full-featured configuration language (Javascript-compatible), plus "plug-ins" that speak to DNS provider APIs such as AWS Route 53, Cloudflare, and Gandi. It can send the same DNS records to multiple providers. It runs anywhere Go runs (Linux, macOS, Windows). The provider model is extensible, so more providers can be added.

An Example

dnsconfig.js:

// define our registrar and providers
var REG_NAMECOM = NewRegistrar("ndc_main");
var DSP_ROUTE53 = NewDnsProvider("r53_main");

D("example.com", REG_NAMECOM, DnsProvider(DSP_ROUTE53),
  A("@", "1.2.3.4"),
  CNAME("www","@"),
  MX("@",5,"mail.myserver.com."),
  A("test", "5.6.7.8")
)

Running dnscontrol preview will talk to the providers (here name.com as registrar and route 53 as the dns host), and determine what changes need to be made.

Running dnscontrol push will make those changes with the provider and my dns records will be correctly updated.

The easiest way to run DNSControl is to use the Docker container:

docker run --rm -it -v "$(pwd):/dns"  ghcr.io/dnscontrol/dnscontrol preview

Getting Started

The quickest way to start is dnscontrol init. The interactive wizard asks for your DNS provider and registrar, verifies your credentials and writes a working creds.json and dnsconfig.js, including the records that already exist in your zones.

See the Getting Started page on the documentation site for the full walkthrough.

Want full "GitOps" control of your DNS data? Clone the dns-config starter repo to get started!

Supported Providers

DNSControl supports 74 DNS providers and registrars:

ADGUARDHOMEAKAMAIEDGEDNSALIDNSAUTODNS¹AXFRDDNS
AZURE_DNSAZURE_PRIVATE_DNSBINDBUNNY_DNSCLOUDFLAREAPI
CLOUDNS¹CNR¹CSCGLOBAL¹DESECDIGITALOCEAN
DNSCALEDNSIMPLE¹DNSMADEEASYDNSOVERHTTPS²DOMAINNAMESHOP
DYNADOT²DYNUEASYNAME²EXOSCALEFORTIGATE
GANDI_V5¹GCLOUDGCOREGIDINET¹GIGAHOST
HEDNSHETZNER_V2HOSTINGDE¹HUAWEICLOUDINFOBLOX
INFOMANIAKINTERNETBS²INWX¹JOKERLINODE
LOOPIA¹LUADNSMIKROTIKMITTWALDMYTHICBEASTS
NAMECHEAP¹NAMEDOTCOM¹NETBIRDNETCUPNETLIFY
NETNODNEXDNSNS1OPENPROVIDEROPENSRS²
OPENWRTORACLEOVH¹PACKETFRAMEPORKBUN¹
POWERDNSREALTIMEREGISTER¹ROUTE53¹RWTHSAKURACLOUD
SCALEWAYSOFTLAYERSPACESHIP¹TENCENTDNS¹TRANSIP
UNIFIVERCELVULTRWEBSUPPORT

¹also supports registrar functions ²registrar only

Benefits

Categories