Home

Awesome

ConstellixProvider provider for octoDNS

An octoDNS provider that targets Constellix.

Installation

Command line

pip install octodns-constellix

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
octodns-constellix==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/octodns-constellix.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_constellix

Configuration

providers:
  constellix:
    class: octodns_constellix.ConstellixProvider
    # Your Contellix api key (required)
    api_key: env/CONSTELLIX_API_KEY
    # Your Constellix secret key (required)
    secret_key: env/CONSTELLIX_SECRET_KEY
    # Amount of time to wait between requests to avoid
    # ratelimit (optional)
    ratelimit_delay: 0.0

Support Information

Records

ConstellixProvider supports A, AAAA, ALIAS (ANAME), CAA, CNAME, MX, NS, PTR, SPF, SRV, and TXT. There are some restrictions on CAA tags support.

Dynamic

ConstellixProvider supports dynamic records.

Health Check Options

See https://github.com/octodns/octodns/blob/master/docs/dynamic_records.md#health-checks for information on health checking for dynamic records. ConstellixProvider supports the following options:

KeyDescriptionDefault
sonar_intervalSonar check intervalONEMINUTE
sonar_portSonar check port80
sonar_regionsSonar check regions for a check. WORLD or a list of valuesWORLD
sonar_typeSonar check type TCP/HTTPTCP

Sonar check interval (sonar_interval) possible values:

Sonar check regions (sonar_regions) possible values:

---
  octodns:
    constellix:
      healthcheck:
        sonar_interval: DAY
        sonar_port: 80
        sonar_regions:
        - ASIAPAC
        - EUROPE
        sonar_type: TCP

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.