An octoDNS provider that targets Constellix.
pip install octodns-constellix
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-constellix==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-constellix.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_constellix
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
ConstellixProvider supports A, AAAA, ALIAS (ANAME), CAA, CNAME, MX, NS, PTR, SPF, SRV, and TXT. There are some restrictions on CAA tags support.
ConstellixProvider supports dynamic records.
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:
Key | Description | Default |
---|---|---|
sonar_interval | Sonar check interval | ONEMINUTE |
sonar_port | Sonar check port | 80 |
sonar_regions | Sonar check regions for a check. WORLD or a list of values | WORLD |
sonar_type | Sonar check type TCP/HTTP | TCP |
Sonar check interval (sonar_interval) possible values:
- FIVESECONDS
- THIRTYSECONDS
- ONEMINUTE
- TWOMINUTES
- THREEMINUTES
- FOURMINUTES
- FIVEMINUTES
- TENMINUTES
- THIRTYMINUTES
- HALFDAY
- DAY
Sonar check regions (sonar_regions) possible values:
- ASIAPAC
- EUROPE
- NACENTRAL
- NAEAST
- NAWEST
- OCEANIA
- SOUTHAMERICA
---
octodns:
constellix:
healthcheck:
sonar_interval: DAY
sonar_port: 80
sonar_regions:
- ASIAPAC
- EUROPE
sonar_type: TCP
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.