infra/stacks/technitium/modules/technitium
Viktor Barzin 364df9f2ea [dns] readiness gate — replace auth-required zone-count probe with DNS parity check
Zone-count parity required hitting /api/zones/list which requires auth. The
null_resource has no access to the Technitium admin password (it's declared
`sensitive = true` on the module variable), so we were probing with an empty
token and getting 200 OK with an error JSON — silently returning 0 zones for
every instance.

Replaced the HTTP probe with a second DNS check: dig idrac.viktorbarzin.lan
on each pod, require the same A record from all three. This catches both
"zone not loaded on an instance" and "zone drift between primary and
replicas" without needing any HTTP client or credentials. The AXFR chain
guarantees all three should converge on the same value.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 15:24:56 +00:00
..
dashboards [dbaas] Migrate MySQL from InnoDB Cluster to standalone StatefulSet 2026-04-16 19:01:06 +00:00
coredns.tf [dns] DNS reliability & hardening — Technitium + CoreDNS + alerts + readiness gate 2026-04-19 14:53:41 +00:00
ha.tf [dns] Technitium — raise memory limit to 2Gi (was 1Gi, originally 512Mi) 2026-04-19 15:08:04 +00:00
main.tf [dns] Fix CoreDNS serve_stale syntax — 24h TTL, no refresh-mode arg 2026-04-19 15:18:43 +00:00
readiness.tf [dns] readiness gate — replace auth-required zone-count probe with DNS parity check 2026-04-19 15:24:56 +00:00