macOS
brew install octodnslocal Homebrew formula metadata
brew / rank 7364
Tools for managing DNS across multiple providers. Version 1.21.1 via Homebrew; verified 2026-08-02. Also installable with nix: nix profile install nixpkgs#octodns.
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 | executable | indexed executable | Discovered from the local executable index. |
octodns-dump | executable | indexed executable | Discovered from the local executable index. |
octodns-report | executable | indexed executable | Discovered from the local executable index. |
octodns-schema | executable | indexed executable | Discovered from the local executable index. |
octodns-sync | executable | indexed executable | Discovered from the local executable index. |
octodns-validate | executable | indexed executable | Discovered from the local executable index. |
octodns-versions | executable | indexed executable | Discovered from the local executable index. |
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.
install metadata
| Package key | brew:octodns |
|---|---|
| Version | 1.21.1 |
| Package manager | Homebrew |
| Homepage | https://github.com/octodns/octodns |
| Repository | https://github.com/octodns/octodns |
| Last updated | 2026-08-02T22:08:54Z |
| Pulse | updated |
| Bottle | not recorded |
| Service | none declared |
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.