Automic VaultAutomic Vault

brew

Install octodns with Homebrew, Nix

Tools for managing DNS across multiple providers. Version 1.20.0 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install octodns

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#octodns

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

overview

Package summary

Tools for managing DNS across multiple providers

Commands and aliases

  • octodns-compare
  • octodns-dump
  • octodns-report
  • octodns-schema
  • octodns-sync
  • octodns-validate
  • octodns-versions

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2017-03-14: public GitHub repository created.
  • 2017-04-27: GitHub published its split-authority DNS article announcing OctoDNS and describing its internal DNS workflow.
  • 2026-07-01: GitHub API metadata showed the repository under the octodns organization, MIT licensed, with Python as the primary language.

Related projects

  • The project has provider packages for DNS services such as Cloudflare and Azure, and it fits the same infrastructure-as-code family as Terraform-style DNS management while keeping a DNS-specific comparison and synchronization model.

security posture

No protected-tool coverage found yet

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.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 2 runtime dependencies.

Recommended review

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

executables

Installed executables

CommandKindExposureNote
octodns-comparecliglobal executable
octodns-dumpcliglobal executable
octodns-reportcliglobal executable
octodns-schemacliglobal executable
octodns-synccliglobal executable
octodns-validatecliglobal executable
octodns-versionscliglobal 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 version1.20.0
manager updated2026-06-22
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/octodns/octodns

install metadata

Package metadata

Package keybrew:octodns
Version1.20.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/octodns
Homepagehttps://github.com/octodns/octodns
Repositoryhttps://github.com/octodns/octodns
Upstream docshttps://octodns.readthedocs.io/en/latest
LicenseMIT
Source archivehttps://files.pythonhosted.org/packages/6c/3f/efa3684728098eec6e406958920497704805e9d676a32cb75f2fa9abb439/octodns-1.20.0.tar.gz
Last updated2026-06-22T23:50:46Z
Pulseupdated
Dependencieslibyaml, python@3.14
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameoctodns
Version Scheme0
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%

octodns

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

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 package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment