octodns documentation¶
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 /docs directory.
User documentation¶
Getting Started:
Module documentation¶
Providers:
Sources:
Records:
- octodns.record.a
- octodns.record.aaaa
- octodns.record.alias
- octodns.record.base
- octodns.record.caa
- octodns.record.change
- octodns.record.chunked
- octodns.record.cname
- octodns.record.dname
- octodns.record.ds
- octodns.record.dynamic
- octodns.record.exception
- octodns.record.geo
- octodns.record.geo_data
- octodns.record.https
- octodns.record.ip
- octodns.record.loc
- octodns.record.mx
- octodns.record.naptr
- octodns.record.ns
- octodns.record.ptr
- octodns.record.rr
- octodns.record.spf
- octodns.record.srv
- octodns.record.sshfp
- octodns.record.subnet
- octodns.record.svcb
validate_svcparam_port()validate_list()validate_svcparam_alpn()validate_svcparam_iphint()validate_svcparam_ipv4hint()validate_svcparam_ipv6hint()validate_svcparam_mandatory()validate_svcparam_ech()validate_svckey_number()parse_rdata_text_svcparamvalue_list()svcparamkeysort()SvcbValueSvcbRecord
- octodns.record.target
- octodns.record.tlsa
- octodns.record.txt
- octodns.record.uri
- octodns.record.urlfwd
Processors:
- octodns.processor.acme
- octodns.processor.arpa
- octodns.processor.base
- octodns.processor.filter
_FilterProcessorAllowsMixinRejectsMixin_TypeBaseFilterTypeAllowlistFilterTypeRejectlistFilter_NameBaseFilterNameAllowlistFilterNameRejectlistFilter_ValueBaseFilterValueAllowlistFilterValueRejectlistFilter_NetworkValueBaseFilterNetworkValueAllowlistFilterNetworkValueRejectlistFilterIgnoreRootNsFilterExcludeRootNsChangesZoneNameFilter
- octodns.processor.meta
- octodns.processor.ownership
- octodns.processor.restrict
- octodns.processor.spf
- octodns.processor.templating
- octodns.processor.trailing_dots
Other modules:
- octodns.context
- octodns.deprecation
- octodns.equality
- octodns.idna
- octodns.manager
- octodns.yaml
- octodns.zone
- octodns.cmds.args
- octodns.cmds.compare
- octodns.cmds.dump
- octodns.cmds.report
- octodns.cmds.sync
- octodns.cmds.validate
- octodns.cmds.versions
- octodns.secret.base
- octodns.secret.environ
- octodns.secret.exception