DNSControl/dnscontrol
Infrastructure as code for DNS! observed · 2026-08-28
Health v2 · maintenance only
99/100
- Activity 99
- Release rhythm 99
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 10
- age_days: 3655
- days_rel: 7
- days_push: 7
- n_releases_24m: 50
Adoption not part of the score
3917 stars · 527 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
DNSControl is an infrastructure-as-code tool for managing DNS zones and registrars via a JavaScript-compatible DSL. It pushes DNS records to 65+ providers (Route 53, Cloudflare, Azure, BIND, etc.) with preview/push commands, multi-provider sync, and CI/CD-friendly workflows.
Use cases
- manage dns records as code
- sync dns zones across multiple providers
- migrate dns from one provider to another
- apply gitops to dns configuration
- avoid dns vendor lock-in
- run dual dns providers for redundancy
- optimize spf records and flatten includes
When to choose
- you manage many domains across multiple DNS providers or registrars
- you want version-controlled, reviewable DNS changes via Git and CI/CD
- you need to switch or run multiple DNS providers without vendor lock-in
- you want a declarative DSL with macros, variables, and TypeScript type checking
When to avoid
- you need a GUI or one-off manual DNS edits
- your DNS provider is not among the supported provider plugins
- you only manage a single small zone and a web console suffices
Facets
cli-tool · maturity active
infrastructure-as-code cli configuration-management ci-cd plugin-system networking infrastructure-as-code self-hosted windows go cli cross-platform dns dns-providers registrar gitops zone-management spf-optimizer javascript-dsl devops automation linux macos docker
10 sources
- readme: https://github.com/DNSControl/dnscontrol · fetched 2026-08-28 · b454f81a7f46
- homepage: https://dnscontrol.org/ · fetched 2026-08-29 · 5c7167ed57f9
- site_page: https://docs.dnscontrol.org/getting-started/getting-started · fetched 2026-08-29 · 6a4e237836cd
- site_page: https://docs.dnscontrol.org/getting-started/migrating · fetched 2026-08-29 · 382642bfdf0e
- site_page: https://docs.dnscontrol.org/getting-started/examples · fetched 2026-08-29 · d44327153076
- site_page: https://docs.dnscontrol.org/getting-started/typescript · fetched 2026-08-29 · 7f7660efa06c
- site_page: https://docs.dnscontrol.org/advanced-features/notifications · fetched 2026-08-29 · 3cafea93306b
- site_page: https://docs.dnscontrol.org/advanced-features/code-tricks · fetched 2026-08-29 · d40735ee48be
- site_page: https://docs.dnscontrol.org/advanced-features/cli-variables · fetched 2026-08-29 · 60f6a5b90b02
- site_page: http://dnscontrol.org/ · fetched 2026-08-29 · 5c7167ed57f9
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| DNSControl/dnscontrol | main | 99 |
For agents
markdown · JSON · MCP: product_card(name="DNSControl/dnscontrol")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem