NS1 provider for octoDNS
Project description
NS1 provider for octoDNS
An octoDNS provider that targets NS1.
Installation
Command line
pip install octodns_ns1
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_ns1==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-ns1.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_ns1
Configuration
providers:
ns1:
class: octodns_ns1.Ns1Provider
api_key: env/NS1_API_KEY
# Only required if using dynamic records
monitor_regions:
- lga
# Optional. Default: false. true is Recommended, but not the default
# for backwards compatibility reasons. If true, all NS1 monitors will
# use a shared notify list rather than one per record & value
# combination. See CHANGELOG,
# https://github.com/octodns/octodns/blob/master/CHANGELOG.md, for more
# information before enabling this behavior.
shared_notifylist: false
# Optional. Default: None. If set, back off in advance to avoid 429s
# from rate-limiting. Generally this should be set to the number
# of processes or workers hitting the API, e.g. the value of
# `max_workers`.
parallelism: 11
# Optional. Default: 4. Number of times to retry if a 429 response
# is received.
retry_count: 4
# Optional. Default: None. Additional options or overrides passed to
# the NS1 SDK config, as key-value pairs.
client_config:
endpoint: my.nsone.endpoint # Default: api.nsone.net
ignore-ssl-errors: true # Default: false
follow_pagination: false # Default: true
Support Information
Records
All octoDNS record types are supported.
Dynamic
Ns1Provider 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. Ns1Provider supports the following options:
Key | Description | Default |
---|---|---|
policy | One of:
|
quorum |
frequency | Frequency (in seconds) of health-check | 60 |
connect_timeout | Timeout (in seconds) before we give up trying to connect | 2 |
response_timeout | Timeout (in seconds) after connecting to wait for output | 10 |
rapid_recheck | Enable or disable a second, automatic verification test before changing the status of a host. Enabling this option can help prevent false positives. | False |
---
octodns:
ns1:
healthcheck:
policy: quorum
frequency: 60
connect_timeout: 2
response_timeout: 10
rapid_recheck: True
Developement
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file octodns-ns1-0.0.2.tar.gz
.
File metadata
- Download URL: octodns-ns1-0.0.2.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | efc8ee4ef229b4f51cfc198cf34ea18fcd646e49fc47693e5e28b0508970ee14 |
|
MD5 | 6f02604d2a9e1caaa5a4a1f7f5192075 |
|
BLAKE2b-256 | ceb0fdfff5573c1bb7ebbad6d7dcae958bc22076f8c7171f7d9ddd73d510d22f |
File details
Details for the file octodns_ns1-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: octodns_ns1-0.0.2-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa46aa80ebf7a561a412ef351428e8ee07af7a896b2ecf6f231d46e758877d82 |
|
MD5 | fa380e9d6b3990c1e90151648277e751 |
|
BLAKE2b-256 | c55d950ed15d619145c55e32740fede803bf45717ede5cd70f08aac48c62a83f |