From a89fbac33324646319e41b48de6f3e2641d45693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charles-Edouard=20Br=C3=A9t=C3=A9ch=C3=A9?= <charled.breteche@gmail.com> Date: Mon, 17 Oct 2022 13:01:41 +0200 Subject: [PATCH] fix: don't process non background policies in background scan (#5008) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> --- pkg/controllers/report/background/controller.go | 2 +- pkg/controllers/report/utils/utils.go | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/controllers/report/background/controller.go b/pkg/controllers/report/background/controller.go index 2d0aa5f811..e5e37f6065 100644 --- a/pkg/controllers/report/background/controller.go +++ b/pkg/controllers/report/background/controller.go @@ -203,7 +203,7 @@ func (c *controller) updateReport(ctx context.Context, meta metav1.Object, gvk s policies = append(policies, pols...) } // load background policies - backgroundPolicies := utils.RemoveNonValidationPolicies(logger, policies...) + backgroundPolicies := utils.RemoveNonBackgroundPolicies(logger, policies...) if err != nil { return err } diff --git a/pkg/controllers/report/utils/utils.go b/pkg/controllers/report/utils/utils.go index 76e1441440..dba3144fcc 100644 --- a/pkg/controllers/report/utils/utils.go +++ b/pkg/controllers/report/utils/utils.go @@ -30,6 +30,16 @@ func BuildKindSet(logger logr.Logger, policies ...kyvernov1.PolicyInterface) set return kinds } +func RemoveNonBackgroundPolicies(logger logr.Logger, policies ...kyvernov1.PolicyInterface) []kyvernov1.PolicyInterface { + var backgroundPolicies []kyvernov1.PolicyInterface + for _, pol := range policies { + if CanBackgroundProcess(logger, pol) { + backgroundPolicies = append(backgroundPolicies, pol) + } + } + return backgroundPolicies +} + func RemoveNonValidationPolicies(logger logr.Logger, policies ...kyvernov1.PolicyInterface) []kyvernov1.PolicyInterface { var validationPolicies []kyvernov1.PolicyInterface for _, pol := range policies {