No description
Find a file
muffie 82d25966e1 feat: delete envrc
remove envrc when done with the key, no trailing key existing.
2026-05-28 10:11:36 +02:00
.gitignore feat: change dns records A -> CNAME 2026-05-28 10:05:17 +02:00
delete_app.py feat: delete envrc 2026-05-28 10:11:36 +02:00
init.py feat: change dns records A -> CNAME 2026-05-28 10:05:17 +02:00
main.py feat: change dns records A -> CNAME 2026-05-28 10:05:17 +02:00
main_ttl.py feat: change dns records A -> CNAME 2026-05-28 10:05:17 +02:00
README.md feat: change dns records A -> CNAME 2026-05-28 10:05:17 +02:00

OVH DNS automation scripts. Run any of them with uv run --with ovh <script.py>.

OVH auth model

Three credentials, all go in .envrc:

  • Application Key + Secret — identify your app; created once at https://eu.api.ovh.com/createApp/
  • Consumer Key — grants the app access to your account; scoped to specific API routes; generated by init.py

Setup

uv run --with ovh init.py   # creates .envrc with all three credentials
direnv allow

Scripts

Script What it does
init.py First-time setup: creates the app credentials and .envrc
main.py Migrates A records → CNAME on moonstation.ovh (interactive, per-record)
main_ttl.py Sets TTL to 0 on all CNAME records with TTL=3600
delete_app.py Lists your OVH API applications and lets you delete one