1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-05 07:26:55 +00:00
kyverno/pkg/webhooks/utils/match.go
Mariam Fahmy eab6b4eceb
fix: updaterequests stuck in pending/fail infinite loop (#9119)
* fix: updaterequests stuck in pending/fail infinite loop

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>

* fix: prevent creating URs upon DELETE unless it is specified

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>

* fix chainsaw test

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>

---------

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>
2023-12-15 16:42:10 +02:00

17 lines
581 B
Go

package utils
import (
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
datautils "github.com/kyverno/kyverno/pkg/utils/data"
admissionv1 "k8s.io/api/admission/v1"
)
// MatchDeleteOperation checks if the rule specifies the DELETE operation.
func MatchDeleteOperation(rule kyvernov1.Rule) bool {
ops := rule.MatchResources.GetOperations()
for _, rscFilters := range append(rule.MatchResources.All, rule.MatchResources.Any...) {
ops = append(ops, rscFilters.ResourceDescription.GetOperations()...)
}
return datautils.SliceContains(ops, string(admissionv1.Delete))
}