Skip to content

Skeletal new module template and helper script

License

Notifications You must be signed in to change notification settings

octodns/octodns-template

Repository files navigation

HOW TO USE

  1. Clone this repo
  2. create your new module directory mkdir <OCTODNS-PROVIDER>
  3. cd into that directory cd <OCTODNS-PROVIDER>
  4. Initialize git for the new directory git init
  5. run ../octodns-template/script/template to fill out the skeletal module structure
  6. Create an initial skeleton commit, git add . && git commit -m "Import skeleton"
  7. Find and work through all TODOs with grep -r TODO ., committing changes as makes sense
  8. 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
  9. ...

{EOH}

TODO: Review this README and add or modify as necessary.

{NAME} provider for octoDNS

An octoDNS provider that targets {NAME}.

Installation

Command line

pip install {MODULE_DASHED}

requirements.txt/setup.py

Pinning specific versions or SHAs is recommended to avoid unplanned upgrades.

Versions
# Start with the latest versions and don't just copy what's here
octodns==0.9.14
{MODULE_DASHED}==0.0.1
SHAs
# 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}

Configuration

providers:
  {MODULE_STRIPPED}:
    class: {MODULE}.{PROVIDER}
    # TODO

Support Information

Records

TODO: All octoDNS record types are supported.

Dynamic

TODO: {PROVIDER} does not support dynamic records.

Development

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?

About

Skeletal new module template and helper script

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

  •  
  •  

Packages

No packages published