pkg.soopen package index

brew / rank 7364

Install octodns with Homebrew, Nix

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

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 bottle metadata was recorded.

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-compareexecutableindexed executableDiscovered from the local executable index.
octodns-dumpexecutableindexed executableDiscovered from the local executable index.
octodns-reportexecutableindexed executableDiscovered from the local executable index.
octodns-schemaexecutableindexed executableDiscovered from the local executable index.
octodns-syncexecutableindexed executableDiscovered from the local executable index.
octodns-validateexecutableindexed executableDiscovered from the local executable index.
octodns-versionsexecutableindexed executableDiscovered from the local executable index.

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-08-03
manager version1.21.1
manager updated2026-08-02
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:octodns
Version1.21.1
Package managerHomebrew
Homepagehttps://github.com/octodns/octodns
Repositoryhttps://github.com/octodns/octodns
Last updated2026-08-02T22:08:54Z
Pulseupdated
Bottlenot recorded
Servicenone declared

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
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation