diff --git a/Makefile b/Makefile index 08e7466..17c5d42 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ ARCH ?= amd64 OS ?= $(shell uname -s | tr A-Z a-z) K8S_LATEST_VER ?= $(shell curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt) export CONTROLLER_IMG ?= $(REGISTRY)/$(IMAGE_NAME) -TAG ?= main +TAG ?= dev .PHONY: all all: build diff --git a/config/default/manager_image_patch.yaml b/config/default/manager_image_patch.yaml index c4ff0ce..70dc9c8 100644 --- a/config/default/manager_image_patch.yaml +++ b/config/default/manager_image_patch.yaml @@ -8,5 +8,5 @@ spec: spec: containers: # Change the value of image field below to your controller image URL - - image: projectsveltos/addon-compliance-controller-amd64:main + - image: projectsveltos/addon-compliance-controller-amd64:dev name: manager diff --git a/controllers/addoncompliance_controller.go b/controllers/addoncompliance_controller.go index 5d18102..5483db0 100644 --- a/controllers/addoncompliance_controller.go +++ b/controllers/addoncompliance_controller.go @@ -469,9 +469,13 @@ func (r *AddonComplianceReconciler) getMatchingClusters(ctx context.Context, logger.V(logs.LogDebug).Info("finding matching clusters") var matchingCluster []corev1.ObjectReference - var err error + if addonConstraintScope.GetSelector() != "" { - parsedSelector, _ := labels.Parse(addonConstraintScope.GetSelector()) + parsedSelector, err := labels.Parse(addonConstraintScope.GetSelector()) + if err != nil { + logger.V(logs.LogInfo).Info(fmt.Sprintf("failed to parse clusterSelector: %v", err)) + return nil, err + } matchingCluster, err = clusterproxy.GetMatchingClusters(ctx, r.Client, parsedSelector, "", logger) if err != nil { return nil, err diff --git a/controllers/addoncompliance_transformations.go b/controllers/addoncompliance_transformations.go index 07fc9f7..63bbbe2 100644 --- a/controllers/addoncompliance_transformations.go +++ b/controllers/addoncompliance_transformations.go @@ -193,7 +193,12 @@ func (r *AddonComplianceReconciler) requeueAddonComplianceForCluster( // matching the Cluster for k := range r.AddonCompliances { addonConstraintSelector := r.AddonCompliances[k] - parsedSelector, _ := labels.Parse(string(addonConstraintSelector)) + parsedSelector, err := labels.Parse(string(addonConstraintSelector)) + if err != nil { + // When clusterSelector is fixed, this AddonCompliance instance + // will be reconciled + continue + } if parsedSelector.Matches(labels.Set(cluster.GetLabels())) { l := logger.WithValues("addonConstraint", k.Name) l.V(logs.LogDebug).Info("queuing AddonCompliance") @@ -249,7 +254,12 @@ func (r *AddonComplianceReconciler) requeueAddonComplianceForMachine( // matching the Cluster for k := range r.AddonCompliances { addonConstraintSelector := r.AddonCompliances[k] - parsedSelector, _ := labels.Parse(string(addonConstraintSelector)) + parsedSelector, err := labels.Parse(string(addonConstraintSelector)) + if err != nil { + // When clusterSelector is fixed, this AddonCompliance instance + // will be reconciled + continue + } if parsedSelector.Matches(labels.Set(clusterLabels)) { l := logger.WithValues("addonConstraint", k.Name) l.V(logs.LogDebug).Info("queuing AddonCompliance") diff --git a/controllers/sveltoscluster_controller.go b/controllers/sveltoscluster_controller.go index 055985a..8dec93f 100644 --- a/controllers/sveltoscluster_controller.go +++ b/controllers/sveltoscluster_controller.go @@ -118,7 +118,11 @@ func addClusterEntry(ctx context.Context, c client.Client, s := &libsveltosset.Set{} for i := range addonConstraints.Items { ac := &addonConstraints.Items[i] - parsedSelector, _ := labels.Parse(string(ac.Spec.ClusterSelector)) + parsedSelector, err := labels.Parse(string(ac.Spec.ClusterSelector)) + if err != nil { + logger.V(logs.LogInfo).Info(fmt.Sprintf("failed to parse clusterSelector: %v", err)) + return err + } if parsedSelector.Matches(labels.Set(clusterLabels)) { s.Insert(getKeyFromObject(c.Scheme(), ac)) } diff --git a/manifest/manifest.yaml b/manifest/manifest.yaml index e9e7371..9e3d3ba 100644 --- a/manifest/manifest.yaml +++ b/manifest/manifest.yaml @@ -269,7 +269,7 @@ spec: - --v=5 command: - /manager - image: projectsveltos/addon-compliance-controller-amd64:main + image: projectsveltos/addon-compliance-controller-amd64:dev livenessProbe: httpGet: path: /healthz