Automic VaultAutomic Vault

brew

Install dnscontrol with Homebrew, apk, MacPorts, Nix, winget

Synchronize your DNS to multiple providers from a simple DSL. Version 4.42.0 via Homebrew; verified 2026-06-18.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install dnscontrol

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install dnscontrol

MacPorts ports tree · sysutils/dnscontrol/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add dnscontrol

Alpine Linux edge package indexes · dnscontrol · source: dl-cdn.alpinelinux.org

Nixverified · 92%
nix profile install nixpkgs#dnscontrol

nixpkgs package indexes · pkgs/by-name/dn/dnscontrol/package.nix · source: api.github.com

Windows

Windows Package Managerverified · 92%
winget install --id StackExchange.DNSControl -e

Windows Package Manager source index · StackExchange.DNSControl · source: cdn.winget.microsoft.com

overview

Package summary

Synchronize your DNS to multiple providers from a simple DSL

Commands and aliases

  • dnscontrol

history

Project history and usage

DNSControl is an infrastructure-as-code tool for managing DNS records across multiple registrars and DNS providers. It uses a JavaScript-like DSL in dnsconfig.js, provider credentials in creds.json, and commands such as preview and push to turn repository-managed DNS intent into provider changes.

Project history

Stack Overflow introduced DNSControl publicly in 2017 as the system it built to manage DNS with a describe-once, use-anywhere model. The project grew from Stack Exchange's operational needs into an open-source tool with provider plugins, a compiler-like intermediate representation, and a documentation site for the DSL and provider ecosystem.

Adoption history

DNSControl's adoption story is unusually package-nerdy because its own README cites Stack Overflow using it for hundreds of domains and subdomains. That production pedigree, plus support for many providers, made it attractive to teams that wanted DNS changes reviewed, tested, and applied like code.

How it is used

A typical workflow is to keep dnsconfig.js, creds.json, and optional zone files in a Git repository, run dnscontrol preview to inspect changes, and run dnscontrol push to apply them. The getting-started guide explicitly walks users through creating a config directory, dnsconfig.js, creds.json, and a zones directory for local testing.

Why package nerds care

DNSControl matters to package and ops people because it turns DNS into a reproducible artifact with reviewable diffs. It also represents the CLI packaging sweet spot: a Go binary, strong docs, release automation, Docker support, Homebrew availability, and enough provider plugins to justify distro packaging.

Timeline

  • 2017: Stack Overflow introduces DNSControl as DNS as code.
  • 2024: v4.x releases continue the provider-plugin and DNS compiler model.
  • 2026: The project documents 64 supported DNS providers and registrars in its README.

Related projects

  • Terraform DNS providers solve adjacent infrastructure-as-code problems with a different state model.
  • BIND zone files are a common input, output, or migration target for DNSControl workflows.

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for dnscontrol. Nucleus package metadata is still published here so future coverage has a stable package URL.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
./dnsconfig.js

Credential files

Credential-bearing paths to review before unattended agent runs.

Unix
./creds.json

executables

Installed executables

CommandKindExposureNote
dnscontrolcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version4.42.0
manager updated2026-06-18
local dataok
upstreamcurrent
latest detectedv4.42.0

https://github.com/DNSControl/dnscontrol

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:dnscontrol
Version4.42.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/dnscontrol
Homepagehttps://dnscontrol.org/
Repositoryhttps://github.com/DNSControl/dnscontrol
Upstream docshttps://dnscontrol.org/
LicenseMIT
Source archivehttps://github.com/DNSControl/dnscontrol/archive/refs/tags/v4.42.0.tar.gz
Last updated2026-06-18T21:40:25Z
Pulseupdated
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared
Caveatsdnscontrol bash completion depends on the bash-completion package.

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namednscontrol
Version Scheme1
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

dnscontrol

nix profile install nixpkgs#dnscontrol
  • normalized package name match
  • Matched by: Dnscontrol
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/dn/dnscontrol/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk95%

dnscontrol 4.41.0-r0

Synchronize your DNS to multiple providers from a simple DSL

https://dnscontrol.org/

sudo apk add dnscontrol
  • License: MIT
  • Architecture: x86_64
  • Source Package: dnscontrol
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dnscontrol
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: dnscontrol from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

dnscontrol-doc 4.41.0-r0

Synchronize your DNS to multiple providers from a simple DSL (documentation)

https://dnscontrol.org/

sudo apk add dnscontrol-doc
  • License: MIT
  • Architecture: x86_64
  • Source Package: dnscontrol
  • normalized package name match
  • Matched by: Dnscontrol
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: dnscontrol-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
MacPorts95%

dnscontrol

sudo port install dnscontrol
  • normalized package name match
  • Matched by: Dnscontrol
MacPorts ports tree · api.github.com · MacPorts ports tree: sysutils/dnscontrol/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
winget95%

StackExchange.DNSControl

winget install --id StackExchange.DNSControl -e
  • normalized package name match
  • Matched by: Dnscontrol
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: StackExchange.DNSControl from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment