Skip to main content

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
    # Optional. Default: HTTP/1.0 . Default HTTP protocol to use when 
    # health-checking dynamic record endpoints. See "Health Check Options" 
    # README section below to override per dynamic record.
    default_healthcheck_http_version: HTTP/1.0

Support Information

Records

All octoDNS record types are supported.

Root NS Records

Ns1Provider supports full root NS record management.

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:
  1. all - down if every region is down
  2. quorum - down if majority regions are down
  3. one - down if any region is down
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
http_version Specify HTTP version to use when HTTP health-checking a host. One of
  1. HTTP/1.0
  2. HTTP/1.1
    HTTP/1.0
    ---
      octodns:
        ns1:
          healthcheck:
            policy: quorum
            frequency: 60
            connect_timeout: 2
            response_timeout: 10
            rapid_recheck: True
            http_version: HTTP/1.1
    

    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.

    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

    octodns-ns1-0.0.4.tar.gz (33.9 kB view details)

    Uploaded Source

    Built Distribution

    If you're not sure about the file name format, learn more about wheel file names.

    octodns_ns1-0.0.4-py3-none-any.whl (16.8 kB view details)

    Uploaded Python 3

    File details

    Details for the file octodns-ns1-0.0.4.tar.gz.

    File metadata

    • Download URL: octodns-ns1-0.0.4.tar.gz
    • Upload date:
    • Size: 33.9 kB
    • Tags: Source
    • Uploaded using Trusted Publishing? No
    • Uploaded via: twine/4.0.1 CPython/3.10.10

    File hashes

    Hashes for octodns-ns1-0.0.4.tar.gz
    Algorithm Hash digest
    SHA256 cbf7d9da0e9f644b8c41650fa9b0611772a1c1c10016d45393eac185073444ca
    MD5 404b8a4ac036399be1e1f5a9b4e2b7f5
    BLAKE2b-256 a82cbd7e67c3c1a498b96e96a79f1f9f531178b8790e84b3d2a7f1a6aa9c96ef

    See more details on using hashes here.

    File details

    Details for the file octodns_ns1-0.0.4-py3-none-any.whl.

    File metadata

    • Download URL: octodns_ns1-0.0.4-py3-none-any.whl
    • Upload date:
    • Size: 16.8 kB
    • Tags: Python 3
    • Uploaded using Trusted Publishing? No
    • Uploaded via: twine/4.0.1 CPython/3.10.10

    File hashes

    Hashes for octodns_ns1-0.0.4-py3-none-any.whl
    Algorithm Hash digest
    SHA256 81f85a463aa956f9a15a34ede8d667b164c63fca727229d29847936f171feb50
    MD5 67b8da6fd0f23fde2dab793a3f340700
    BLAKE2b-256 1edb10adb3498bae7b96c4da5be15f530e8e5e4d1692ec3624a45fc7218d8c76

    See more details on using hashes here.

    Supported by

    AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page