prune against every credential group's desired resources - #2317
Closed
haseebsyed12 wants to merge 1 commit into
Closed
prune against every credential group's desired resources#2317haseebsyed12 wants to merge 1 commit into
haseebsyed12 wants to merge 1 commit into
Conversation
A plugin prunes by its own ownership marker, which records no credential, and what a connection lists depends on its token: a system-scoped credential sees what a project-scoped one manages, and every credential sees what is public. Handing each group only its own desired specs therefore offered the other group's resources up for deletion, so whichever credential pruned first could delete a resource whose CR still existed. Prune now receives the union. The tradeoff is that two credentials managing the same resource name keep each other's resource off the prune list, which leaks it if they are separate clouds; that is the safer direction, and the plugin contract now says so. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
A plugin prunes by its own ownership marker, which records no credential, and what a connection lists depends on its token: a system-scoped credential sees what a project-scoped one manages, and every credential sees what is public. Handing each group only its own desired specs therefore offered the other group's resources up for deletion, so whichever credential pruned first could delete a resource whose CR still existed.
Prune now receives the union. The tradeoff is that two credentials managing the same resource name keep each other's resource off the prune list, which leaks it if they are separate clouds; that is the safer direction, and the plugin contract now says so.
What does this change do?
Upgrade impact
upgrade-impactlabel and a release note: runscriv createfrom therepository root and describe the required action in the generated
changelog.d/file. See RELEASING.md.Operator action means anything a deployment has to do beyond a normal resync:
deploy repo or values changes, new or removed secrets, enabling or disabling a
component, or a manual one-time step.