2022-09-28 13:45:16 +02:00
|
|
|
package report
|
|
|
|
|
|
|
|
import (
|
2023-09-05 14:42:17 +03:00
|
|
|
engineapi "github.com/kyverno/kyverno/pkg/engine/api"
|
2022-09-28 13:45:16 +02:00
|
|
|
"k8s.io/apimachinery/pkg/labels"
|
|
|
|
"k8s.io/apimachinery/pkg/selection"
|
|
|
|
"k8s.io/apimachinery/pkg/types"
|
|
|
|
)
|
|
|
|
|
|
|
|
func SelectorResourceUidEquals(uid types.UID) (labels.Selector, error) {
|
|
|
|
selector := labels.Everything()
|
|
|
|
requirement, err := labels.NewRequirement(LabelResourceUid, selection.Equals, []string{string(uid)})
|
|
|
|
if err == nil {
|
|
|
|
selector = selector.Add(*requirement)
|
|
|
|
}
|
|
|
|
return selector, err
|
|
|
|
}
|
|
|
|
|
2023-09-05 14:42:17 +03:00
|
|
|
func SelectorPolicyDoesNotExist(policy engineapi.GenericPolicy) (labels.Selector, error) {
|
2022-09-28 13:45:16 +02:00
|
|
|
selector := labels.Everything()
|
|
|
|
requirement, err := labels.NewRequirement(PolicyLabel(policy), selection.DoesNotExist, nil)
|
|
|
|
if err == nil {
|
|
|
|
selector = selector.Add(*requirement)
|
|
|
|
}
|
|
|
|
return selector, err
|
|
|
|
}
|
|
|
|
|
2023-09-05 14:42:17 +03:00
|
|
|
func SelectorPolicyExists(policy engineapi.GenericPolicy) (labels.Selector, error) {
|
2022-09-28 13:45:16 +02:00
|
|
|
selector := labels.Everything()
|
|
|
|
requirement, err := labels.NewRequirement(PolicyLabel(policy), selection.Exists, nil)
|
|
|
|
if err == nil {
|
|
|
|
selector = selector.Add(*requirement)
|
|
|
|
}
|
|
|
|
return selector, err
|
|
|
|
}
|
|
|
|
|
2023-09-05 14:42:17 +03:00
|
|
|
func SelectorPolicyNotEquals(policy engineapi.GenericPolicy) (labels.Selector, error) {
|
2022-09-28 13:45:16 +02:00
|
|
|
selector := labels.Everything()
|
|
|
|
requirement, err := labels.NewRequirement(PolicyLabel(policy), selection.NotEquals, []string{policy.GetResourceVersion()})
|
|
|
|
if err == nil {
|
|
|
|
selector = selector.Add(*requirement)
|
|
|
|
}
|
|
|
|
return selector, err
|
|
|
|
}
|