-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Remove unresolved in manifest based webhooks KEP #2074
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
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: vivekbagade The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/assign @liggitt |
| This section details the behavior of the mechanism when encountering non-optimal | ||
| situations. | ||
| In cases where: |
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.
and if any of these are true when reading the file on a process start, does the process fail to start? I would expect it to.
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.
that matches my expectation, but should be called out explicitly
|
This answers the outstanding questions that I know of. I'm ok with this moving to implementable if we can find a solid reviewer who can sign up for the work (I'm not available). @lavalamp any comments you'd like addressed before implementable? |
Also add test plan and answer scalability questionnaire
| This section details the behavior of the mechanism when encountering non-optimal | ||
| situations. | ||
| In cases where: |
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.
that matches my expectation, but should be called out explicitly
| through the API. | ||
|
|
||
| ### New AdmissionConfig schema | ||
|
|
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.
I don't see this called out, but the treatment of non-absolute file paths for webhooksFile should be described. Absolute paths are required for the kubeconfigFile field in the same config, which is the simplest approach. If relative paths are allowed, I would expect them to be treated relative to the location of the admission config file, which requires replumbing some bits of admission config loading.
|
|
||
| a. Webhook metadata: This metric would contain metadata of each webhook invoked, | ||
| both API based and manifest based. The metadata includes the webhook type | ||
| (mutating/validating) and if it is manifest based. |
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.
detail the name and labels of the metric?
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.
also, add the metric to the metrics section of the kep.yaml file (same for all the metrics)
|
|
||
| b. Manifest errors: Since the manifest file can be reconfigured post API server | ||
| startup, we would add a metric informing users if there were errors | ||
| loading/parsing the current manifest file. |
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.
detail the name and labels of the metric?
| loading/parsing the current manifest file. | ||
|
|
||
| Audit annotations for mutating webhooks would also carry an additional field | ||
| `manifestBased` indicating the invocation of a manifest based webhook. |
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.
give an example of the audit annotation including the manifestBased field
|
Asked for a few clarifications, then lgtm. I can review the implementation. |
|
This design has the following problems:
So, I'm a big -1 on this design. I'd accept a design that either
Honestly I think the authz addition is too heavy-handed and in the common case will prevent people from fixing clusters as frequently as it prevents them from breaking clusters; but I recognize that it is greatly desired. |
I'm ok with taking a step back to see if we can come up with an approach that is more coherent, and I agree there are multiple resources that have similar use cases, but some of those characteristics are features in some scenarios :-)
|
Webhook config does not have status field IIUC
Yes, I partially agree with this. But, the source of truth moves from the API to the API server metrics which not as useful.
I don't completely agree. This mechanism is meant to provide operators with a better mechanism compared to compiled in admission control. And this method provides better visibility compared to compiled in admission control. There are audit annotations (for mutating webhooks) and metrics that help with this. As for what "users" can do to alter the behavior, this is a feature of the mechanism(extremely desirable in managed platforms) and the users would just have to reach out to their operator.
I also want to +1 Jordan's comment on the usefulness of stratifying policy specified by the operator vs policy specified by the cluster user. |
|
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
|
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
|
Rotten issues close after 30d of inactivity. Send feedback to sig-contributor-experience at kubernetes/community. |
|
@fejta-bot: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Also add test plan and answer scalability questionnaire