Skip to content

hosted: evaluate parent delegation with the shared zone evaluator - #21

Merged
reoring merged 1 commit into
mainfrom
work/20261021/hosted-delegation-evaluate
Oct 21, 2026
Merged

reoring merged 1 commit into
mainfrom
work/20261021/hosted-delegation-evaluate

Conversation

@reoring

@reoring reoring commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Live defect (platform on-prem PoC, dns-api 0.4.2): Zone.status.provider.data.delegation reported observedNameServers=[ns1.k0sdlg.internal], matches=false, error=DNSProbeFailed although all 24 NS/A/AAAA × UDP/TCP probes against the recursive view and the authority returned NOERROR. observeDelegation treated len(views) != len(policy.servers) as failure, but dnsprobe appends the authority views (reached through glue) after the recursive views, so a correct delegation always had more views than servers.

  • Decide with dnsprobe.EvaluateZone (required recursive views present, consistent NS/SOA across views, authorities answering AA) and publish its Reason: Message as the bounded delegation.error; transport errors remain the opaque DNSProbeFailed (no private network details).
  • Controller test fake now returns the real probe shape (recursive + authority view); the mismatch test keeps its contract.

Full go test ./... (envtest) + go vet PASS.

observeDelegation flagged DNSProbeFailed whenever len(views) != len(servers),
but the probe appends the authority views reached through glue after the
recursive views, so a correct delegation (observed NS equal to the configured
nameServers, authority answering AA) was reported matches=false on the
on-prem PoC. Use dnsprobe.EvaluateZone (required views, consistent NS/SOA,
authoritative answers) and publish its reason/message as the bounded
delegation error; transport errors stay opaque.
@reoring
reoring merged commit 8098d76 into main Oct 21, 2026
2 checks passed
@reoring
reoring deleted the work/20261021/hosted-delegation-evaluate branch October 21, 2026 06:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant