Fix validate-except syntax (resolver crash-loop) #252

Merged
benvin merged 1 commits from benvin/fix-validate-except-syntax into main 2026-07-12 22:26:23 +10:00
Owner

Why — urgent

PR #251 added validate-except to the resolver BindCluster but the list omitted the trailing semicolon after the final entry. named requires every entry in a list to be semicolon-terminated, including the last before the closing brace, so it fails config parse and the resolver pods crash-loop:

/run/named/named.conf:18: missing ';' before '}'
loading configuration: failure
exiting (due to fatal error)

The resolvers (.7) are down until this lands; the authoritative (.6/.9) and externaldns (.8) are unaffected.

Fix

- validate-except { unkin.net; 18.198.in-addr.arpa; consul }
+ validate-except { unkin.net; 18.198.in-addr.arpa; consul; }

Renders to validate-except { unkin.net; 18.198.in-addr.arpa; consul; }; — valid.

Recovery

On merge + ArgoCD sync, the operator re-renders the ConfigMap with valid config and the crash-looping pods self-heal on their next restart (no manual rollout restart needed). Validated: bind-internal renders and pre-commit clean.

## Why — urgent PR #251 added `validate-except` to the resolver `BindCluster` but the list omitted the trailing semicolon after the final entry. `named` requires **every** entry in a list to be semicolon-terminated, including the last before the closing brace, so it fails config parse and the resolver pods crash-loop: ``` /run/named/named.conf:18: missing ';' before '}' loading configuration: failure exiting (due to fatal error) ``` The resolvers (`.7`) are down until this lands; the authoritative (`.6`/`.9`) and externaldns (`.8`) are unaffected. ## Fix ```diff - validate-except { unkin.net; 18.198.in-addr.arpa; consul } + validate-except { unkin.net; 18.198.in-addr.arpa; consul; } ``` Renders to `validate-except { unkin.net; 18.198.in-addr.arpa; consul; };` — valid. ## Recovery On merge + ArgoCD sync, the operator re-renders the ConfigMap with valid config and the crash-looping pods self-heal on their next restart (no manual `rollout restart` needed). Validated: `bind-internal` renders and pre-commit clean.
unkinben added 1 commit 2026-07-12 22:25:07 +10:00
Fix validate-except syntax: semicolon after last list entry
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
32c97c94c7
The resolver validate-except list (#251) omitted the trailing semicolon
after the final entry, so named fails config parse
(named.conf: missing ';' before '}') and the resolver pods crash-loop.
BIND requires every entry in the list to be semicolon-terminated,
including the last one before the closing brace.
benvin merged commit 69788a967c into main 2026-07-12 22:26:23 +10:00
benvin deleted branch benvin/fix-validate-except-syntax 2026-07-12 22:26:23 +10:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unkin/argocd-apps#252