DNS-as-code for api-standards.io, hosted at Porkbun.
Records live in zones/api-standards.io.yaml and
are kept in sync with Porkbun by octoDNS
via the octodns-porkbun provider.
Workflow:
- Edit
zones/api-standards.io.yamlon a branch and open a PR. .github/workflows/dns-plan.ymlrunsoctodns-syncin dry-run mode and posts the diff as a PR comment.- Review, merge.
.github/workflows/dns-apply.ymlrunsoctodns-sync --doitonmain.
- In Porkbun, create an API key + secret key (Account → API Access) and enable
API Access for the
api-standards.iodomain (Domain Management → Details). - Add repo secrets
PORKBUN_API_KEYandPORKBUN_SECRET_KEY. - (Recommended) Create a
productionGitHub environment with required reviewers. - Seed real records (below) before merging anything.
python3 -m venv .venv && source .venv/bin/activate # Python 3.13+
pip install -r requirements.txt
export PORKBUN_API_KEY=... PORKBUN_SECRET_KEY=...
octodns-dump --config-file=config/octodns.yaml --output-dir=zones --lenient api-standards.io. porkbunoctodns-validate --config-file=config/octodns.yaml
octodns-sync --config-file=config/octodns.yaml # plan
octodns-sync --config-file=config/octodns.yaml --doit # apply