package match import ( "github.com/kyverno/kyverno/pkg/engine/wildcards" "github.com/kyverno/kyverno/pkg/logging" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" ) func CheckSelector(expected *metav1.LabelSelector, actual map[string]string) (bool, error) { if expected == nil { return false, nil } expected = wildcards.ReplaceInSelector(expected, actual) selector, err := metav1.LabelSelectorAsSelector(expected) if err != nil { logging.Error(err, "failed to build label selector") return false, err } if selector.Matches(labels.Set(actual)) { return true, nil } return false, nil }