Skip to content

Repository files navigation

UltraDNS provider for octoDNS

An octoDNS provider that targets UltraDNS.

Installation

Command line

pip install octodns-ultra

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.21.1
octodns-ultra==1.1.3
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-ultra.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_ultra

Configuration

providers:
  ultra:
    class: octodns_ultra.UltraProvider
    # Ultra Account Name (required)
    account: env/ULTRA_ACCOUNT
    # Ultra username (required)
    username: env/ULTRA_USERNAME
    # Ultra password (required)
    password: env/ULTRA_PASSWORD
    # Valimail enabled on created zones (optional, default=False)
    # valimail: true
    # Enable UltraDNS managed DNSSEC (optional, default=None)
    # dnssec: true

Support Information

API Version

Targets the UltraDNS REST API. Documentation can be found here.

Records

UltraProvider supports A, AAAA, CAA, CNAME, MX, NS, PTR, SPF, SRV, and TXT

Root NS Records

UltraProvider supports full root NS record management.

Dynamic

UltraProvider does not support dynamic records.

Provider Specific Meta

Valimail Monitor

Valimail monitor is an UltraDNS feature that automates the creation of email related DNS records. If enabled, octoDNS will ignore the records that the feature automatically adds to the domain.

More information on Valimail Monitor can be found in the UltraDNS documentation.

DNSSEC

Important

By default DNSSEC is set to "None", meaning the provider will ignore this setting and maintain current state. Set to "true" or "false" to have the provider manage DNSSEC status.

DNSSEC in UltraDNS is a zone level toggle. Enabling it will create UltraDNS managed DNSSEC related records such as KSK, ZSK, DNSKEY and DS.

More information on UltraDNS's DNSSEC implementation can be found in the UltraDNS documentation.

To have some zones DNSSEC enabled and others not, the recommended implementation is to have two separate providers configured, eg:

providers:
  ultra:
    class: octodns_ultra.UltraProvider
    account: env/ULTRA_ACCOUNT
    username: env/ULTRA_USERNAME
    password: env/ULTRA_PASSWORD
  ultra_dnssec:
    class: octodns_ultra.UltraProvider
    account: env/ULTRA_ACCOUNT
    username: env/ULTRA_USERNAME
    password: env/ULTRA_PASSWORD
    dnssec: true

zones:
  dnssec-zone.net.:
    sources:
      - config
    targets:
      - ultra_dnssec

  no-dnssec-zone.net.:
    sources:
      - config
    targets:
      - ultra

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.

About

Ultra DNS provider for octoDNS

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages