operator: harden the Broker controller's adoption and identity handling - #1792
Open
hidalgopl wants to merge 1 commit into
Open
operator: harden the Broker controller's adoption and identity handling#1792hidalgopl wants to merge 1 commit into
hidalgopl wants to merge 1 commit into
Conversation
Four fixes to broker-mode machinery already on main, one PR ahead of the V2 Redpanda broker-mode support that exercises them harder: - Broker pods now carry the StatefulSet identity labels (statefulset.kubernetes.io/pod-name, apps.kubernetes.io/pod-index): external tooling selects on them and pods must be indistinguishable across pod-management flavors. - Orphaned broker pods are adopted on the orphaning event instead of waiting for the periodic requeue. - Destructive/adoption decisions read through the uncached API reader, and pod/PVC adoption is barred while the owner is rolling back (a cached ghost CR must not re-adopt pods mid-rollback and leave them referencing a deleted owner for the GC to collect silently). - reconcilePod backfills any missing rotation identity key, not just the config checksum. Also introduces the kind-name constants and the V2 annotation parser the guard reads (the V2 reconciler itself lands separately). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
hidalgopl
requested review from
RafalKorepta,
andrewstucki,
chrisseto and
gene-redpanda
as code owners
September 1, 2026 14:27
hidalgopl
force-pushed
the
pb/broker-controller-hardening
branch
from
September 1, 2026 14:27
37f7df5 to
3128e75
Compare
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
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.
Hardens broker-mode machinery that already ships on main. Broker pods now carry the StatefulSet identity labels so any external tooling can't tell pod-management flavors apart, orphaned pods are adopted on the orphaning event instead of a periodic requeue, and adoption/deletion decisions read through the uncached API reader - with adoption barred while the owner is rolling back, so a cached ghost CR can't grab pods the GC would then silently delete. Also generalizes the rotation-key backfill and introduces the kind constants and V2 annotation parser the guard reads.