Tools for managing DNS across multiple providers
  • Python 98.7%
  • Shell 0.8%
  • Scilab 0.3%
  • DIGITAL Command Language 0.2%
Find a file
Ross McFarland dc75b60b0d
Merge pull request #1391 from octodns/best-practice-validators
Add best-practice validators for SSHFP, DS, TLSA, and CAA
2026-05-04 14:32:06 -07:00
.changelog Add best-practice validators for SSHFP, DS, TLSA, and CAA record types 2026-05-04 13:24:42 -07:00
.dependabot Weekly dependabot updates are too noisy, mostly boto 2020-02-24 06:58:17 -08:00
.github/workflows Push slash_command changes to correct branch 2025-11-30 19:08:33 -08:00
docs Include dynamic and urlfwd-value validators in the strict set 2026-05-04 12:49:03 -07:00
octodns Add CAA best-practice validator for missing issuewild tag 2026-05-04 14:06:54 -07:00
script Remove stray debug and print, add lint check for prints 2026-04-29 13:31:13 -07:00
tests Add CAA best-practice validator for missing issuewild tag 2026-05-04 14:06:54 -07:00
.ci-config.json Script to update .ci-config.json with current python versions 2025-11-17 09:03:21 -08:00
.git-blame-ignore-revs add black 24.x to ignore revs 2024-03-20 14:00:23 -07:00
.git_hooks_pre-commit Pull in the latest template changes 2025-10-25 15:34:21 -07:00
.gitignore Publish JSON Schema to Read the Docs under _static/octodns.schema.json for each built version 2026-04-18 13:31:57 -07:00
.readthedocs.yaml Remove a couple more references to requirements-dev/doc 2025-11-17 09:18:55 -08:00
CHANGELOG.md Version 1.16.0 bump & changelog update 2026-03-22 16:36:29 -07:00
CODE_OF_CONDUCT.md Correct CODE_OF_CONDUCT email 2017-03-17 09:08:24 -07:00
CONTRIBUTING.md Follow-up on the versioned source link fix 2026-03-19 21:08:57 -04:00
LICENSE Update LICENSE details 2023-10-15 10:07:34 -07:00
MANIFEST.in Remove a couple more references to requirements-dev/doc 2025-11-17 09:18:55 -08:00
pyproject.toml Move coverage config into pyproject.toml 2024-03-21 14:28:51 -07:00
README.md Minor README fixes 2025-08-17 15:34:00 -07:00
requirements.txt Update requirements 2026-04-28 16:28:46 -07:00
setup.py jsonschema is a test requirement 2026-04-18 09:33:35 -07:00

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.