An octoDNS provider that targets Scaleway DNS.
pip install octodns_scaleway
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_scaleway==0.0.3
# 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_scaleway.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_scaleway
providers:
scaleway:
class: octodns_scaleway.ScalewayProvider
# API Secret Key
token: env/SCALEWAY_SECRET_KEY
# API Create zone
create_zone: False
Optional argument (default: False
).
If set to True
, Automaticaly create new zone when needed. Be carreful: create a new zone can add fee.
If set to False
, use the root zone.
ScalewayProvider supports A, AAAA, ALIAS, CAA, CNAME, DNAME, LOC, MX, NAPTR, NS, PTR, SPF, SRV, SSHFP, TXT
ScalewayProvider does partially support dynamic records.
Specification:
- All the pool name must have this pattern:
pool-{n}
(eg:pool-0
,pool-1
,pool-2
...) - The Geo province code isn't supported (eg:
NA
: ok,EU-FR
: ok,NA-US-KY
: not ok) - If you set the country code, you can't mix multiple continents within a same pool (eg:
EU-FR, EU-BE
: ok,EU-FR, NA
: not ok) - Healthcheck only accept the default
obey
status
Full example:
record-dynamic-geo:
dynamic:
pools:
pool-0:
fallback: pool-3
values:
- value: 1.1.1.1
- value: 1.1.1.2
pool-1:
fallback: pool-3
values:
- value: 2.2.2.2
pool-2:
fallback: pool-3
values:
- value: 3.3.3.3
pool-3:
values:
- value: 4.4.4.4
rules:
- geos:
- AS
- OC
pool: pool-0
- geos:
- EU-CH
- EU-FR
pool: pool-1
- geos:
- EU-BE
pool: pool-2
- pool: pool-3
ttl: 60
type: A
value: 5.5.5.5
record-dynamic-weigh:
dynamic:
pools:
pool-0:
values:
- value: 1.1.1.1
weight: 1
- value: 1.1.1.2
weight: 100
rules:
- pool: pool-0
ttl: 60
type: A
value: 5.5.5.5
record-dynamic-healthcheck:
dynamic:
pools:
pool-0:
values:
- value: 1.1.1.1
- value: 1.1.1.2
rules:
- pool: pool-0
octodns:
healthcheck:
host: my-domain.tld
path: /check
port: 443
protocol: HTTPS
ttl: 60
type: A
value: 5.5.5.5
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.