dnscontrol/dnscontrol

Infrastructure as code for DNS!

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 13 minutes ago
Added to GitGenius on September 17th, 2026
Created on August 30th, 2016
Open Issues & Pull Requests: 49 (+0)
GitHub issues: Enabled
Number of forks: 540
Total Stargazers: 3,944 (+0)
Total Subscribers: 54 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.9 hours
Mean response time: 22.3 days
90th percentile: 23.4 days
Tracked items: 634

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Practically every issue opened in the past year has drawn a reply. 55% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "provider-NS1" is answered fastest, typically in about an hour, while "Status: Needs volunteer" waits about 3 weeks. 83% of issues opened in the past year have been closed, leaving a working backlog. Three people close 84% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 31
New in 7 days: 6
Closed in 7 days: 8
Avg open age: 92 days
Stale 30+ days: 19
Stale 90+ days: 9

Recent activity

Opened in 7 days: 6
Closed in 7 days: 6
Comments in 7 days: 6
Events in 7 days: 21

Top labels

  • provider-CLOUDFLAREAPI (57)
  • closed_stale (36)
  • provider-ROUTE53 (35)
  • provider-BIND (28)
  • Category: Documentation (26)
  • provider-INWX (25)
  • Priority: p3 - Low (23)
  • provider-NS1 (20)

Detailed Description

DNSControl is an infrastructure-as-code tool for managing DNS records across multiple providers through a declarative configuration language.

The tool solves the problem of managing DNS records scattered across different providers by centralizing configuration in a single JavaScript-compatible language. It connects to provider APIs such as AWS Route 53, Cloudflare, and Gandi, allowing you to define all DNS records in one place and synchronize them across multiple providers. The workflow involves writing configuration in a dnsconfig.js file, using the preview command to see what changes would be made, and the push command to apply those changes to your providers.

DNSControl suits teams managing DNS across multiple registrars or DNS hosts who want version control and reproducibility for their DNS infrastructure. It works well for organizations seeking GitOps-style control where DNS configuration lives in a repository. The tool runs on Linux, macOS, and Windows through Docker or native Go binaries, making it accessible across different deployment environments. The provider model is extensible, meaning additional DNS providers can be added beyond the supported set.

The project maintains active development with regular commits addressing bug fixes and feature additions. The codebase shows consistent attention to code quality through pull request reviews and testing. The maintainers respond to issues and incorporate community contributions, indicating ongoing engagement with users. Documentation is actively maintained alongside code changes, keeping guidance current with the tool's capabilities.