An octoDNS provider that targets Google Cloud DNS.
pip install octodns-googlecloud
Pinning specific versions or SHAs is recommended to avoid unplanned upgrades.
# Start with the latest versions and don't just copy what's here
octodns==0.9.14
octodns-googlecloud==0.0.1
# Start with the latest/specific versions and don't just copy what's here
-e git+https://git@github.com/octodns/octodns.git@9da19749e28f68407a1c246dfdf65663cdc1c422#egg=octodns
-e git+https://git@github.com/octodns/octodns-googlecloud.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_googlecloud
providers:
googlecloud:
class: octodns_googlecloud.GoogleCloudProvider
# Credentials file for a service_account or other account can be
# specified with the GOOGLE_APPLICATION_CREDENTIALS environment
# variable. (https://console.cloud.google.com/apis/credentials)
#
# The project to work on (not required)
# project: foobar
#
# The File with the google credentials (not required). If used, the
# "project" parameter needs to be set, else it will fall back to the
# "default credentials"
# credentials_file: ~/google_cloud_credentials_file.json
#
# GoogleCloudProvider submits changes in batches. The default batch size
# is 1000, which is also roughly the maximum size that google supports.
# If your plan & apply makes more than batch_size changes they will be
# broken up into smaller sets of at most that size.
# batch_size: 1000
GoogleCloudProvider supports A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SPF, SRV, and TXT
GoogleCloudProvider support full root NS record management
GoogleCloudProvider does not support dynamic records.
See the /script/ directory for some tools to help with the development process. They generally follow the Script to rule them all pattern. Most useful is ./script/bootstrap
which will create a venv and install both the runtime and development related requirements. It will also hook up a pre-commit hook that covers most of what's run by CI.