From b7f80290a866ea66aa2ef54027372ce7a0557881 Mon Sep 17 00:00:00 2001 From: prune Date: Tue, 4 Dec 2018 11:17:15 -0500 Subject: [PATCH] error early return unused vars --- .../certmerge/certmerge_controller.go | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkg/controller/certmerge/certmerge_controller.go b/pkg/controller/certmerge/certmerge_controller.go index ee815cf..fb518a4 100644 --- a/pkg/controller/certmerge/certmerge_controller.go +++ b/pkg/controller/certmerge/certmerge_controller.go @@ -196,18 +196,22 @@ func secretInCertMergeList(certmerge *certmergev1alpha1.CertMerge, secret *corev func secretInCertMergeLabels(certmerge *certmergev1alpha1.CertMerge, secret *corev1.Secret) bool { // check if secret labels match a CertMerge Selector for _, se := range certmerge.Spec.Selector { - isOk := false if se.Namespace == secret.Namespace { - for key, val := range se.LabelSelector.MatchLabels { - if value, ok := secret.Labels[key]; ok { - if value == val { - isOk = true - } + + // create the labelSelector + labelSelector := labels.SelectorFromSet(se.LabelSelector.MatchLabels) + for _, r := range se.LabelSelector.MatchExpressions { + req, err := labels.NewRequirement(r.Key, selection.Operator(r.Operator), r.Values) + if err != nil { + return false } + labelSelector = labelSelector.Add(*req) + } + + // make this secret as selected if it matches + if labelSelector.Matches(labels.Set(secret.ObjectMeta.Labels)) { + return true } - } - if isOk { - return true } } return false