|
|
---
|
|
|
providers:
|
|
|
# The primary source of record data in most setup is YAML files on disk. By
|
|
|
# convention it's named config.
|
|
|
config:
|
|
|
class: octodns.provider.yaml.YamlProvider
|
|
|
# There are a number of configuration options available to customize the
|
|
|
# behavior of the provider, but the defaults are generally suitable and the
|
|
|
# only required value is the name of the directory where the files can be
|
|
|
# found. Convention is the same config directory in which this file lives.
|
|
|
directory: ./config
|
|
|
|
|
|
# Having a no mail SPF record is considered best practice for any domains
|
|
|
# that you do not plan to use for email. The octodns-spf module provides
|
|
|
# SpfSource which by default adds the SPF value `v=spf1 -all` to accomplish
|
|
|
# this. If you have one or more domains that involve mail check out the email
|
|
|
# example after you're done here.
|
|
|
no-mail:
|
|
|
class: octodns_spf.SpfSource
|
|
|
|
|
|
# This is just a placeholder for the purposes of this example, in your
|
|
|
# configuration you would replace it with configuration for the DNS
|
|
|
# provider(s) you wish to use, e.g. Route53, NS1, Azure DNS, ... See
|
|
|
# https://github.com/octodns/octodns#providers for a list of supported
|
|
|
# providers and have a look in each provider's repo for details on installing
|
|
|
# and configuring the provider. Convention is to name the provider with the
|
|
|
# unique portion of the provider class/company name in all lowercase, here
|
|
|
# YamlProvider -> yaml. Route53 would be route53, NS1 -> ns1, etc.
|
|
|
yaml:
|
|
|
class: octodns.provider.yaml.YamlProvider
|
|
|
directory: ./target
|
|
|
# This is a rarely used option that tells the YamlProvider that it should
|
|
|
# load existing records from disk rather than assume nothing exists
|
|
|
# created every a plan is made.
|
|
|
# TODO:
|
|
|
#populate_existing: true
|
|
|
|
|
|
# If you wish to push your record data to multiple providers you'd define the
|
|
|
# other here and include them in the targets list down below. See the
|
|
|
# multiple-provider example for more details.
|
|
|
|
|
|
zones:
|
|
|
|
|
|
# This configuration is using dynamic zone config. Rather than having to
|
|
|
# explicitly list out all of the zones here with their coresponding
|
|
|
# configuration there's a single wildcard entry. Here the `config` source
|
|
|
# will look for zone files defined in its configured directory, the files
|
|
|
# alongside this one. For more details see the dynamic-zone-config example.
|
|
|
|
|
|
'*':
|
|
|
# This is the place(s) we look for the records in each zone
|
|
|
sources:
|
|
|
# The conig provider will be firs in line to provide records for the
|
|
|
# zones, and since we're using dynamic zone config it will also be
|
|
|
# responsible for defining what zones exist.
|
|
|
- config
|
|
|
# After config has added its records the we'll add an no email SPF value.
|
|
|
# It'll create the APEX TXT record if necessary. Again see the email
|
|
|
# example for more details.
|
|
|
- no-mail
|
|
|
# This is the place(s) we push the record data to when applying changes
|
|
|
targets:
|
|
|
# Here we're pushing things to our example provider.
|
|
|
- yaml
|