macOS
brew install octodnslocal Homebrew formula metadata
brew
Tools for managing DNS across multiple providers. Version 1.20.0 via Homebrew; verified 2026-06-22.
install
brew install octodnslocal Homebrew formula metadata
nix profile install nixpkgs#octodnsnixpkgs package indexes · pkgs/by-name/oc/octodns/package.nix · source: api.github.com
overview
Tools for managing DNS across multiple providers
history
octoDNS is a Python "DNS as code" toolchain for representing DNS zones in version-controlled configuration and synchronizing them to one or more DNS providers. Its package-nerd identity is unusually clear: it turns mutable provider control panels into reviewable, repeatable infrastructure artifacts.
The public GitHub repository was created on 2017-03-14, and the README credits Ross McFarland and Joe Williams as the project designers and authors. GitHub announced OctoDNS on 2017-04-27 in a post about split-authority DNS, explaining that GitHub wanted one system to manage internal and external DNS records and keep zones synchronized across multiple providers.
The project evolved around pluggable providers and a CLI workflow: zone files are read from sources, compared with provider state, and then applied by commands such as octodns-sync after review.
GitHub's own 2017 writeup is the strongest early adoption signal: it described dozens of zones and thousands of records being managed through GitHub Flow, dry-run previews, and deployment tooling. Homebrew and Nix packaging later made the CLI available as a normal developer workstation package.
Operators use octoDNS by storing YAML zone data and a provider mapping in a repository, running comparison or validation commands, reviewing the plan, and applying changes to targets such as Route53 or Dyn. The same workflow also supports split-authority DNS, where identical records must be maintained across more than one authoritative provider.
octoDNS matters because it treats DNS records like source code without requiring teams to standardize on a single DNS vendor. For package indexers it is a clean example of an operations tool whose executables, provider plugins, and configuration model are the product.
security posture
No matching local secret-handling manifest was found for octodns. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
octodns-compare | cli | global executable | |
octodns-dump | cli | global executable | |
octodns-report | cli | global executable | |
octodns-schema | cli | global executable | |
octodns-sync | cli | global executable | |
octodns-validate | cli | global executable | |
octodns-versions | cli | global executable |
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.
https://github.com/octodns/octodns
install metadata
| Package key | brew:octodns |
|---|---|
| Version | 1.20.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/octodns |
| Homepage | https://github.com/octodns/octodns |
| Repository | https://github.com/octodns/octodns |
| Upstream docs | https://octodns.readthedocs.io/en/latest |
| License | MIT |
| Source archive | https://files.pythonhosted.org/packages/6c/3f/efa3684728098eec6e406958920497704805e9d676a32cb75f2fa9abb439/octodns-1.20.0.tar.gz |
| Last updated | 2026-06-22T23:50:46Z |
| Pulse | updated |
| Dependencies | libyaml, python@3.14 |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | octodns |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
octodns
nix profile install nixpkgs#octodnssource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.