MCPcopy
hub / github.com/octodns/octodns

github.com/octodns/octodns @v1.20.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.20.0 ↗
2,039 symbols 9,136 edges 152 files 175 documented · 9%
README

octoDNS Logo

DNS as code - Tools for managing DNS across multiple providers

In the vein of infrastructure as code octoDNS provides a set of tools & patterns that make it easy to manage your DNS records across multiple providers. The resulting config can live in a repository and be deployed just like the rest of your code, maintaining a clear history and using your existing review & workflow.

The architecture is pluggable and the tooling is flexible to make it applicable to a wide variety of use-cases. Effort has been made to make adding new providers as easy as possible. In the simple case that involves writing of a single class and a couple hundred lines of code, most of which is translating between the provider's schema and octoDNS's. More on some of the ways we use it and how to go about extending it below and in the the documentation.

Documentation

For more information on getting started with and using octoDNS, see the documentation.

Contributing

Please see our contributing document if you would like to participate!

Getting help

If you have a problem or suggestion, please open an issue in this repository, and we will do our best to help. Please note that this project adheres to the Contributor Covenant Code of Conduct.

License

octoDNS is licensed under the MIT license.

The MIT license grant is not for GitHub's trademarks, which include the logo designs. GitHub reserves all trademark and copyright rights in and to all GitHub trademarks. GitHub's logos include, for instance, the stylized designs that include "logo" in the file title in the following folder: https://github.com/octodns/octodns/tree/main/docs/logos/

GitHub® and its stylized versions and the Invertocat mark are GitHub's Trademarks or registered Trademarks. When using GitHub's logos, be sure to follow the GitHub logo guidelines.

Authors

octoDNS was designed and authored by Ross McFarland and Joe Williams. See https://github.com/octodns/octodns/graphs/contributors for a complete list of people who've contributed.

Core symbols most depended-on inside this repo

new
called by 619
octodns/record/base.py
add_record
called by 499
octodns/zone/base.py
get
called by 145
octodns/zone/base.py
changes
called by 112
octodns/zone/base.py
copy
called by 102
octodns/zone/base.py
validate
called by 85
tests/helpers.py
sync
called by 57
octodns/manager.py
idna_encode
called by 49
octodns/idna.py

Shape

Method 1,526
Class 421
Function 78
Route 14

Languages

Python100%

Modules by API surface

tests/test_octodns_manager.py149 symbols
tests/test_octodns_provider_base.py80 symbols
tests/test_octodns_schema.py78 symbols
tests/test_octodns_config_schema.py66 symbols
octodns/record/base.py63 symbols
tests/helpers.py53 symbols
octodns/processor/filter.py46 symbols
tests/test_octodns_zone_validators_mail.py43 symbols
octodns/manager.py38 symbols
tests/test_octodns_record_validators.py36 symbols
tests/test_octodns_record.py35 symbols
tests/test_octodns_zone.py34 symbols

Dependencies from manifests, versioned

alabaster1.0.0 · 1×
anyio4.14.0 · 1×
attrs26.1.0 · 1×
babel2.18.0 · 1×
backports-tarfile1.2.0 · 1×
black26.5.1 · 1×
build1.5.0 · 1×
certifi2026.6.17 · 1×
cffi2.0.0 · 1×
changelet0.6.1 · 1×
charset-normalizer3.4.7 · 1×
click8.4.1 · 1×

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add octodns \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact