[1.18] feat: Add Match Conditions to the validation webhook #10569
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.
Description
Backport of #10554
Adds support for match conditions (defined via Common Expression Language (CEL)) to the validating webhook to allow fine grained request filtering. They can be set via two new helm values :
gateway.validation.matchConditions
on the Gloo webhookgateway.validation.kubeCoreMatchConditions
on the Kube webhookAPI changes
Added the following helm values :
gateway.validation.matchConditions
gateway.validation.kubeCoreMatchConditions
Context
This feature is useful when the webhook failure policy needs to be Fail but excludes certain resources from validation so an unreachable gloo pod does not block resource deletion
Eg: The user wants to exclude validation of secrets or resources with the foo label :
Testing steps
Added kubernetes e2e tests
Checklist: