Skip to main content

octodns-metaname

OctoDNS provider for the Metaname DNS API, originally bootstrapped from the upstream octodns-template. Use it to run a DNS-as-Code workflow with OctoDNS for any zones you host at Metaname.

Installation

PyPI release:

pip install octodns-metaname

If you rely on the OpsDev.nz 1Password resolver, install the optional extra:

pip install octodns-metaname[onepassword]

Editable install for local development:

python -m venv venv && source venv/bin/activate
pip install -e .[dev]

OctoDNS integration

Once installed, the provider is available via the entry point metaname. Sample config.yaml fragment:

providers:
  metaname-test:
    class: octodns_metaname.MetanameProvider
    base_url: https://test.metaname.net/api/1.1

Populate/apply workflows follow the standard OctoDNS CLI tools. Consult the OctoDNS docs for full CLI details.

Secret resolution

By default the provider reads secrets directly from environment variables such as METANAME_ACCOUNT_REF and METANAME_API_TOKEN. If your workflow stores values in a vault (e.g., 1Password) you can register a resolver using:

from octodns_metaname import secrets

def resolve(name: str, reference: str | None) -> str | None:
    ...

secrets.set_secret_resolver(resolve)

For CLI usage set OCTODNS_METANAME_SECRET_RESOLVER="module:function" so the resolver is loaded automatically. OpsDev.nz deployments point this at op_opsdevnz.octodns_hooks:resolve, which returns values directly from the 1Password Service Account SDK/CLI.

Development

python -m venv venv && source venv/bin/activate
pip install -e .[dev]
ruff check src tests
mypy src
pytest --maxfail=1

The repo includes a GitHub Actions workflow that runs linting, type checking, tests, and a build on every push.

Releasing

See RELEASING.md for the full TestPyPI → PyPI checklist.

License

Apache-2.0 © OpsDev.nz

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octodns_metaname-0.2.0.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

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

octodns_metaname-0.2.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file octodns_metaname-0.2.0.tar.gz.

File metadata

  • Download URL: octodns_metaname-0.2.0.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for octodns_metaname-0.2.0.tar.gz
Algorithm Hash digest
SHA256 00ad979ce972612a09894d54dc499b40fd36f0a6726ef4fbbbac8667045e06ac
MD5 3ef5585b681a73bbabd80b21eac16555
BLAKE2b-256 3cb472e3de57820e66032e2d6d383b5e218aae56647a2b5751b36aeaea7bd9ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for octodns_metaname-0.2.0.tar.gz:

Publisher: publish.yml on startmeup-nz/octodns-metaname

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file octodns_metaname-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for octodns_metaname-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d86672ce404f643bbc06309211c882e8c108f42b93b225bb1226e1f4c73b3259
MD5 f476e8bca9aa9fc4e4f564fa27d5940f
BLAKE2b-256 95a4ce9f114a9c82405871b01c7316dee0d81b3ae2bed0ee0cfd01314ad10046

See more details on using hashes here.

Provenance

The following attestation bundles were made for octodns_metaname-0.2.0-py3-none-any.whl:

Publisher: publish.yml on startmeup-nz/octodns-metaname

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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