design-proposal: vendor neutrality of the default LoadBalancer announcer - #61
design-proposal: vendor neutrality of the default LoadBalancer announcer#61Aleksei Sviridkin (lexfrei) wants to merge 2 commits into
Conversation
MetalLB stays the shipped default, Service.spec.loadBalancerClass is the integration point for alternative implementations, and Cilium L2 Announcements is not adopted as the platform announcer. The decision was executed in July 2026; this records the reasoning and the upstream conditions under which the announcer question reopens. Signed-off-by: Aleksei Sviridkin <3811295@gmail.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The lease-name collision is now reported upstream; replace the should-be-filed note with the issue link. Signed-off-by: Aleksei Sviridkin <3811295@gmail.com>
IvanHunters
left a comment
There was a problem hiding this comment.
LGTM with non-blocking notes.
Every verifiable claim about current cozystack behaviour reproduces verbatim (MetalLB stays the default with no preconfigured announcer, Service.spec.loadBalancerClass is the integration point, Cilium L2 Announcements is not adopted as a default). No factual errors found. The direction does not conflict with the existing architecture, it is the existing architecture, and the consequences/alternatives/revisit-triggers are substantive.
- [MINOR] This is a retrospective ADR: the decision was executed in #3218 (merged 2026-07-16) before the proposal was filed. It would help to state explicitly what happens if reviewers disagree with an already-merged decision.
- [MINOR] No cross-reference to the sibling epic (#3858 Cloudflare Tunnel, website#655). The layers are orthogonal (Gateway-level tunnel vs L4 loadBalancerClass), so one line in "Out of scope" naming the tunnel as a separate mechanism would close the reader's question.
- [NIT] The title reads like a fix for vendor lock-in, whereas the conclusion is "already neutral by construction, so the default stays".
Records, after the fact, the decision the project already executed in July: MetalLB stays the shipped default,
Service.spec.loadBalancerClassis the integration point for any other LoadBalancer implementation, and Cilium L2 Announcements is not adopted as the platform announcer at this time.The mechanism landed in cozystack/cozystack#3218 and the migration epic was declined when cozystack/cozystack#2586 closed; the reasoning has only ever lived across a merged PR, a closed epic, and a comment thread. This proposal gathers it in one place so it is not re-litigated one pull request at a time, and names the concrete upstream conditions under which the announcer question reopens.