- Clone this repo
- create your new module directory
mkdir <OCTODNS-PROVIDER>
- cd into that directory
cd <OCTODNS-PROVIDER>
- Initialize git for the new directory
git init
- run ../octodns-template/script/template to fill out the skeletal module structure
- Create an initial skeleton commit,
git add . && git commit -m "Import skeleton"
- Find and work through all TODOs with
grep -r TODO .
, committing changes as makes sense - If you're extracting a provider from octoDNS core, see octodns/octodns#822 for an example of the changes that need to be made there
- ...
{EOH}
TODO: Review this README and add or modify as necessary.
An octoDNS provider that targets {NAME}.
pip install {MODULE_DASHED}
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
{MODULE_DASHED}==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/{MODULE_DASHED}.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg={MODULE}
providers:
{MODULE_STRIPPED}:
class: {MODULE}.{PROVIDER}
# TODO
TODO: All octoDNS record types are supported.
TODO: {PROVIDER} 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.
TODO: any provider specific setup, a docker compose to run things locally etc?