Fix zone provisioning: seed glue + IP primaries #3
Reference in New Issue
Block a user
Delete Branch "benvin/fix-zone-seed"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes two bugs that made every provisioned zone fail to load (seen on ns-auth).
Bug 1 — primary zones don't load
The seed zone's apex
NS ns1.<zone>is in-zone but had no address record, so BINDcheck-integrityrefuses it:Fix: the seed writes a glue
ns1 IN A <primaryIP>.Bug 2 — secondaries crash-loop
Secondaries rendered
primaries/default-primarieswith the primary's DNS name, but BIND only accepts IP addresses there (it read the name as a remote-servers list):Fix: render the primary pod IP, and watch Pods so the config re-renders when it appears/changes.
Changes
bind.WriteSeedZonewrites gluens1 IN A <primaryIP>primaryPodIPand pass it to the seed (requeue if the primary has no IP yet)BindClusterrendersPrimaryAddressfrom pod-0's IP and.Watches(&corev1.Pod{})primaries {})Follow-up
Merge + tag v0.1.2; then bump the operator image v0.1.1 -> v0.1.2 in argocd-apps (
apps/base/bind-system/deployment.yaml).