Hidden-primary DNS for ~91 zones: CoreDNS + custom rfc2136 plugin for self-hosted ACME DNS-01. Source of truth for zones/, Corefile, deploy configs.
Previously: `SERIAL=$(date +%Y%m%d)01` — same-day re-runs produced the same serial. HE polled, saw no change, never pulled the update. Now: scan zones-prepared/ for the highest `YYYYMMDDNN` matching today's date and increment the NN counter. First run of the day starts at NN=01. Caps at NN=99 with a clear error message (set SERIAL manually if you genuinely need >99 changes per day). `SERIAL=<value> make prep` still overrides the auto-detection, useful for forcing a specific serial during recovery or for testing. Verified end-to-end on dell01: prep bumped 2026051601 → 2026051602, CoreDNS auto-reload picked it up within 30s, all queried zones serve the new serial. HE will pull on its next refresh poll (SOA refresh = 3600s, so worst case 1 hour). |
||
|---|---|---|
| caddy | ||
| scripts | ||
| zones | ||
| .env | ||
| .gitignore | ||
| Corefile | ||
| docker-compose.yml | ||
| Makefile | ||