Repository navigation
fix: Serve DNSRecordSet webhooks on every replica - #253
Merged
Merged
Conversation
The replicator handed the Milo project provider to the multicluster manager as it is, so the provider's Start ran on the elected leader only. A replica that is not the leader engaged no project, and its mutating webhook read each record set's DNSZone from the deployment cluster, found none, and admitted the record set without its display annotations. Hide Start from that wiring and start the provider on every replica, as network-services-operator does. Gate readiness on the webhook server serving and on the projects found at start being registered, so a new replica takes no admission request it cannot answer.
One replica, leader election off, the Milo provider: the replicator reconciles the project's DNSZone and the webhook annotates a record set. The same test passes on the previous wiring, so it guards production's configuration.
The lll linter caps a line at 120 characters. Two lines in the non-leader test were longer, so the Lint workflow failed on this branch.
vvoytovych
marked this pull request as ready for review
October 18, 2026 15:02
mattdjenkinson
approved these changes
Oct 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The DNSRecordSet webhooks read each record set's zone from its project, but only the elected replica connects to projects. Any other replica finds no zone and admits the record set without its display annotations.
This connects every replica to its projects, and keeps a new pod unready until its webhook server serves and its projects are connected.
Test plan
Related to #252