OpsDev.nz OctoDNS provider for the Metaname DNS API
Project description
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
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file octodns_metaname-0.1.1.tar.gz.
File metadata
- Download URL: octodns_metaname-0.1.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
436643467d24ba176a87bcdfe6981b202a384f526669e3a1c19c25979c73953e
|
|
| MD5 |
028a9ae4dcb347cc89b5f347f60463b3
|
|
| BLAKE2b-256 |
c4148511633a11e5fc17e03642446fcb48dc1fa3b435b20b25c0f8f7c73d304c
|
File details
Details for the file octodns_metaname-0.1.1-py3-none-any.whl.
File metadata
- Download URL: octodns_metaname-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8621461464bdb5950c8810f3d67fc9cd3191941ed178c81fd7b4f26b9269118
|
|
| MD5 |
e191017cbfb261f1386c87c50bc4a6cb
|
|
| BLAKE2b-256 |
90df86b4a9a7410c6313a1f6e091b8c451525e649f83def6dc9bc290302e4c80
|