-
Notifications
You must be signed in to change notification settings - Fork 386
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
Do webhooks have a place in KCP #143
Comments
They're not currently implemented, but we will have to support them, to be able to support the ecosystem of controllers that expect/require them. We're working through how Services work in a multicluster setup now, and as part of that we'll have to make sure the kcp layer can call those services too as webhooks. |
One option could be to use the |
Do webhooks have a place in this when we have an embedded programming language for admission? |
Long-term, probably not. But until projects have migrated from validating/mutating webhooks to the embedded language, if they want target running against KCP, KCP will need webhooks. |
Is there any more detail on the embedded language for admission? wondering if it would be something like rego (which can be embedded in go) from open policy agent? |
I think so, yes. I'm very excited about KEP-2876, but even though CEL is miles better than JSONschema validation, there are things it's just not practical to do. For example, Tekton has a bunch of code to validate the DAG of Tasks in a Pipeline, which is really not something I'd want to have to maintain (and utterly fail to write tests for!) in CEL. CEL is going to replace a lot of webhook validation today, but I don't think it can (or should) replace all of it. |
True. Everything that is not self-contained and calls out to other resources or services won't fit into CEL. |
Which leads us to a nice problem: if we have our copy of the webhook, it will be based on different resources than the one in the downstream cluster, leading to different answers potentially. |
Example use cases: An ingress controller that wants to control the hosts that can be used for ingress. A controller that wants to ensure some quota / subscription is enabled based on a resource it provides. |
We are adding support for validating and mutating webhooks for full external URLs (not service URLs), at least as step 1. |
Step 1 Implementation is here: #818 |
Closing this now that 818 is merged. We can open additional issues if needed |
Wondering if things like the validating and mutating webhooks have a place in KCP? Maybe they are already present?
The text was updated successfully, but these errors were encountered: