octodns-ns1


Nameoctodns-ns1 JSON
Version 0.0.7 PyPI version JSON
download
home_pagehttps://github.com/octodns/octodns-ns1
SummaryNS1 provider for octoDNS
upload_time2023-11-14 19:45:40
maintainer
docs_urlNone
authorRoss McFarland
requires_python>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## NS1 provider for octoDNS

An [octoDNS](https://github.com/octodns/octodns/) provider that targets [NS1](https://ns1.com/products/managed-dns).

### 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

```yaml
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: false. Use modern HTTP monitor (true) or the legacy
    # HTTP-emulating TCP monitor (false) for HTTP(s) healthchecks.
    use_http_monitors: false
    # 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.
    # This is only supported when use_http_monitors is set to false. If it
    # is set to true, HTTP/1.1 will be used and it cannot be changed.
    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.

#### Subnet targeting

Ns1Provider supports [subnet targeting](https://github.com/octodns/octodns/blob/main/docs/dynamic_records.md#subnets) in 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:<ol><li>`all` - down if every region is down</li><li>`quorum` - down if majority regions are down</li><li>`one` - down if any region is down</ol> | `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. Only applicable if `use_http_monitors=False`. One of <ol><li>`HTTP/1.0`</li><li>`HTTP/1.1`</li><ol> | `HTTP/1.0` |

```yaml
---
  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/](/script/) directory for some tools to help with the development process. They generally follow the [Script to rule them all](https://github.com/github/scripts-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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/octodns/octodns-ns1",
    "name": "octodns-ns1",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Ross McFarland",
    "author_email": "rwmcfa1@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/84/c4/6e7fa98bbcd7c725074dc2d9354b0206548084f0b7558e17c82f3e102b75/octodns-ns1-0.0.7.tar.gz",
    "platform": null,
    "description": "## NS1 provider for octoDNS\n\nAn [octoDNS](https://github.com/octodns/octodns/) provider that targets [NS1](https://ns1.com/products/managed-dns).\n\n### Installation\n\n#### Command line\n\n```\npip install octodns-ns1\n```\n\n#### requirements.txt/setup.py\n\nPinning specific versions or SHAs is recommended to avoid unplanned upgrades.\n\n##### Versions\n\n```\n# Start with the latest versions and don't just copy what's here\noctodns==0.9.14\noctodns-ns1==0.0.1\n```\n\n##### SHAs\n\n```\n# Start with the latest/specific versions and don't just copy what's here\n-e git+https://git@github.com/octodns/octodns.git@9da19749e28f68407a1c246dfdf65663cdc1c422#egg=octodns\n-e git+https://git@github.com/octodns/octodns-ns1.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_ns1\n```\n\n### Configuration\n\n```yaml\nproviders:\n  ns1:\n    class: octodns_ns1.Ns1Provider\n    api_key: env/NS1_API_KEY\n    # Only required if using dynamic records\n    monitor_regions:\n      - lga\n    # Optional. Default: false. true is Recommended, but not the default\n    # for backwards compatibility reasons. If true, all NS1 monitors will\n    # use a shared notify list rather than one per record & value\n    # combination. See CHANGELOG,\n    # https://github.com/octodns/octodns/blob/master/CHANGELOG.md, for more\n    # information before enabling this behavior.\n    shared_notifylist: false\n    # Optional. Default: None. If set, back off in advance to avoid 429s\n    # from rate-limiting. Generally this should be set to the number\n    # of processes or workers hitting the API, e.g. the value of\n    # `max_workers`.\n    parallelism: 11\n    # Optional. Default: 4. Number of times to retry if a 429 response\n    # is received.\n    retry_count: 4\n    # Optional. Default: None. Additional options or overrides passed to\n    # the NS1 SDK config, as key-value pairs.\n    client_config:\n        endpoint: my.nsone.endpoint # Default: api.nsone.net\n        ignore-ssl-errors: true     # Default: false\n        follow_pagination: false    # Default: true\n    # Optional. Default: false. Use modern HTTP monitor (true) or the legacy\n    # HTTP-emulating TCP monitor (false) for HTTP(s) healthchecks.\n    use_http_monitors: false\n    # Optional. Default: HTTP/1.0. Default HTTP protocol to use when\n    # health-checking dynamic record endpoints. See \"Health Check Options\"\n    # README section below to override per dynamic record.\n    # This is only supported when use_http_monitors is set to false. If it\n    # is set to true, HTTP/1.1 will be used and it cannot be changed.\n    default_healthcheck_http_version: HTTP/1.0\n\n```\n\n### Support Information\n\n#### Records\n\nAll octoDNS record types are supported.\n\n#### Root NS Records\n\nNs1Provider supports full root NS record management.\n\n#### Dynamic\n\nNs1Provider supports dynamic records.\n\n#### Subnet targeting\n\nNs1Provider supports [subnet targeting](https://github.com/octodns/octodns/blob/main/docs/dynamic_records.md#subnets) in dynamic records.\n\n#### Health Check Options\n\nSee 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:\n\n| Key  | Description | Default |\n|--|--|--|\n| policy | One of:<ol><li>`all` - down if every region is down</li><li>`quorum` - down if majority regions are down</li><li>`one` - down if any region is down</ol> | `quorum` |\n| frequency | Frequency (in seconds) of health-check | 60 |\n| connect_timeout | Timeout (in seconds) before we give up trying to connect | 2 |\n| response_timeout | Timeout (in seconds) after connecting to wait for output | 10 |\n| 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 |\n| http_version | Specify HTTP version to use when HTTP health-checking a host. Only applicable if `use_http_monitors=False`. One of <ol><li>`HTTP/1.0`</li><li>`HTTP/1.1`</li><ol> | `HTTP/1.0` |\n\n```yaml\n---\n  octodns:\n    ns1:\n      healthcheck:\n        policy: quorum\n        frequency: 60\n        connect_timeout: 2\n        response_timeout: 10\n        rapid_recheck: True\n        http_version: HTTP/1.1\n```\n\n### Development\n\nSee the [/script/](/script/) directory for some tools to help with the development process. They generally follow the [Script to rule them all](https://github.com/github/scripts-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.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "NS1 provider for octoDNS",
    "version": "0.0.7",
    "project_urls": {
        "Homepage": "https://github.com/octodns/octodns-ns1"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8ee2054d943631e0396f460e88bac75167ee76681ddc8845069198521066e032",
                "md5": "d6e83b74c585ba5cbec0c7ce01044012",
                "sha256": "4f08995a5b98cb50b10958b2e8266765f2f605ec485550391cca393c81e8bb21"
            },
            "downloads": -1,
            "filename": "octodns_ns1-0.0.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d6e83b74c585ba5cbec0c7ce01044012",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 19539,
            "upload_time": "2023-11-14T19:45:38",
            "upload_time_iso_8601": "2023-11-14T19:45:38.144876Z",
            "url": "https://files.pythonhosted.org/packages/8e/e2/054d943631e0396f460e88bac75167ee76681ddc8845069198521066e032/octodns_ns1-0.0.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84c46e7fa98bbcd7c725074dc2d9354b0206548084f0b7558e17c82f3e102b75",
                "md5": "8cae637e08173dd195ca42838a42e4a5",
                "sha256": "7449fbc19ab23b521113c8f0ac7c9e4dee2e815b42ac105dce0210b22644c582"
            },
            "downloads": -1,
            "filename": "octodns-ns1-0.0.7.tar.gz",
            "has_sig": false,
            "md5_digest": "8cae637e08173dd195ca42838a42e4a5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 37883,
            "upload_time": "2023-11-14T19:45:40",
            "upload_time_iso_8601": "2023-11-14T19:45:40.121578Z",
            "url": "https://files.pythonhosted.org/packages/84/c4/6e7fa98bbcd7c725074dc2d9354b0206548084f0b7558e17c82f3e102b75/octodns-ns1-0.0.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-14 19:45:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "octodns",
    "github_project": "octodns-ns1",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "octodns-ns1"
}
        
Elapsed time: 0.20273s