-
Notifications
You must be signed in to change notification settings - Fork 246
SPLAT-2790: Added new VAP for vSphere infra validation against current cpms and machines #1510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
vr4manta
wants to merge
1
commit into
openshift:main
Choose a base branch
from
vr4manta:infra-vap
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really? Is that documented somewhere in the upstream docs you can reference?
I can see why it would make sense, but I've never thought about it like that before
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, so during work w/ coderabbit and claude, i tried to make namespace specific but that always seemed to fail. my only guess is because the infra spec is cluster scope. Claude made this comment based on what we learned and this note would help future me for sure remember this. I'll see if I can find any doc on this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Claude's response:
The requirement is documented in the official Kubernetes docs on Validating Admission Policies, in the "Parameter resources" section:
The relevant excerpt (stable since Kubernetes 1.30 when VAP went GA) states:
This is also visible in the error message text itself —
"must have 'get' permission on all objects of the referenced paramKind"— which is emitted directly by the kube-apiserver's VAP admission handler.For the KEP (Kubernetes Enhancement Proposal) that introduced this design decision, the background is in:
Specifically the Authorization section of KEP-3488, which describes why the creator must be authorized to read param objects (to prevent privilege escalation — a user shouldn't be able to create a policy that reads objects they don't have access to).
TL;DR for the team: The Kubernetes docs page at
kubernetes.io/docs/reference/access-authn-authz/validating-admission-policy/#parameter-resourcesis the canonical reference. The rule is: whoever creates (or updates) theValidatingAdmissionPolicymust havegeton theparamKindresource, enforced by the kube-apiserver at policy creation time — which is why themachine-api-operatorservice account needs the permission before it can apply the VAP.