From 5d5011d5d90b7476eba39dd97596ac18f7e1c3f9 Mon Sep 17 00:00:00 2001 From: Frank Jogeleit Date: Mon, 5 Jun 2023 12:37:28 +0200 Subject: [PATCH] feat: hold custom labels (#7416) * feat: hold custom labels Signed-off-by: Frank Jogeleit * fix: remove unnecessary SetLabels Signed-off-by: Frank Jogeleit --------- Signed-off-by: Frank Jogeleit --- pkg/controllers/report/aggregate/controller.go | 3 ++- pkg/utils/report/labels.go | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/controllers/report/aggregate/controller.go b/pkg/controllers/report/aggregate/controller.go index 66f543c5bc..d5f83c81d2 100644 --- a/pkg/controllers/report/aggregate/controller.go +++ b/pkg/controllers/report/aggregate/controller.go @@ -220,7 +220,8 @@ func (c *controller) reconcileReport(ctx context.Context, policyMap map[string]p return reportutils.CreateReport(ctx, report, c.client) } after := reportutils.DeepCopy(report) - after.SetLabels(nil) + // hold custom labels + reportutils.CleanupKyvernoLabels(after) reportutils.SetManagedByKyvernoLabel(after) for _, result := range results { policy := policyMap[result.Policy] diff --git a/pkg/utils/report/labels.go b/pkg/utils/report/labels.go index 528b39c359..7e89097106 100644 --- a/pkg/utils/report/labels.go +++ b/pkg/utils/report/labels.go @@ -17,6 +17,7 @@ import ( ) const ( + LabelDomain = "kyverno.io" // resource labels LabelResourceHash = "audit.kyverno.io/resource.hash" LabelResourceUid = "audit.kyverno.io/resource.uid" @@ -66,6 +67,15 @@ func PolicyLabel(policy kyvernov1.PolicyInterface) string { return PolicyLabelPrefix(policy) + policy.GetName() } +func CleanupKyvernoLabels(obj metav1.Object) { + labels := obj.GetLabels() + for key := range labels { + if strings.Contains(key, LabelDomain) { + delete(labels, key) + } + } +} + func SetManagedByKyvernoLabel(obj metav1.Object) { controllerutils.SetLabel(obj, kyvernov1.LabelAppManagedBy, kyvernov1.ValueKyvernoApp) }