diff --git a/controllers/limitador_controller_test.go b/controllers/limitador_controller_test.go index 99818f08..7c0b9ef9 100644 --- a/controllers/limitador_controller_test.go +++ b/controllers/limitador_controller_test.go @@ -259,7 +259,7 @@ var _ = Describe("Limitador controller", func() { return err == nil }, timeout, interval).Should(BeTrue()) Expect(createdPdb.Spec.MaxUnavailable).To(Equal(maxUnavailable)) - Expect(createdPdb.Spec.Selector.MatchLabels).To(Equal(limitador.Labels())) + Expect(createdPdb.Spec.Selector.MatchLabels).To(Equal(limitador.Labels(limitadorObj))) }) }) diff --git a/pkg/limitador/k8s_objects.go b/pkg/limitador/k8s_objects.go index 437b9295..ac48efaa 100644 --- a/pkg/limitador/k8s_objects.go +++ b/pkg/limitador/k8s_objects.go @@ -31,7 +31,7 @@ func Service(limitador *limitadorv1alpha1.Limitador) *v1.Service { ObjectMeta: metav1.ObjectMeta{ Name: ServiceName(limitador), Namespace: limitador.ObjectMeta.Namespace, // TODO: revisit later. For now assume same. - Labels: Labels(), + Labels: Labels(limitador), }, Spec: v1.ServiceSpec{ Ports: []v1.ServicePort{ @@ -48,7 +48,7 @@ func Service(limitador *limitadorv1alpha1.Limitador) *v1.Service { TargetPort: intstr.FromString("grpc"), }, }, - Selector: Labels(), + Selector: Labels(limitador), ClusterIP: v1.ClusterIPNone, Type: v1.ServiceTypeClusterIP, }, @@ -74,16 +74,16 @@ func Deployment(limitador *limitadorv1alpha1.Limitador, storageConfigSecret *v1. ObjectMeta: metav1.ObjectMeta{ Name: limitador.ObjectMeta.Name, // TODO: revisit later. For now assume same. Namespace: limitador.ObjectMeta.Namespace, // TODO: revisit later. For now assume same. - Labels: Labels(), + Labels: Labels(limitador), }, Spec: appsv1.DeploymentSpec{ Replicas: &replicas, Selector: &metav1.LabelSelector{ - MatchLabels: Labels(), + MatchLabels: Labels(limitador), }, Template: v1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{ - Labels: Labels(), + Labels: Labels(limitador), }, Spec: v1.PodSpec{ Containers: []v1.Container{ @@ -171,7 +171,7 @@ func LimitsConfigMap(limitador *limitadorv1alpha1.Limitador) (*v1.ConfigMap, err ObjectMeta: metav1.ObjectMeta{ Name: LimitsCMNamePrefix + limitador.Name, Namespace: limitador.Namespace, - Labels: Labels(), + Labels: Labels(limitador), }, }, nil } @@ -185,13 +185,13 @@ func PodDisruptionBudget(limitadorObj *limitadorv1alpha1.Limitador) *policyv1.Po ObjectMeta: metav1.ObjectMeta{ Name: PodDisruptionBudgetName(limitadorObj), Namespace: limitadorObj.ObjectMeta.Namespace, - Labels: Labels(), + Labels: Labels(limitadorObj), }, Spec: policyv1.PodDisruptionBudgetSpec{ MaxUnavailable: limitadorObj.Spec.PodDisruptionBudget.MaxUnavailable, MinAvailable: limitadorObj.Spec.PodDisruptionBudget.MinAvailable, Selector: &metav1.LabelSelector{ - MatchLabels: Labels(), + MatchLabels: Labels(limitadorObj), }, }, } @@ -208,8 +208,11 @@ func ValidatePDB(pdb *policyv1.PodDisruptionBudget) error { return nil } -func Labels() map[string]string { - return map[string]string{"app": "limitador"} +func Labels(limitador *limitadorv1alpha1.Limitador) map[string]string { + return map[string]string{ + "app": "limitador", + "limitador-resource": limitador.ObjectMeta.Name, + } } func deploymentContainerCommand(storage *limitadorv1alpha1.Storage, storageConfigSecret *v1.Secret, rateLimitHeaders *limitadorv1alpha1.RateLimitHeadersType) []string { diff --git a/pkg/limitador/k8s_objects_test.go b/pkg/limitador/k8s_objects_test.go index 5477573c..89e02190 100644 --- a/pkg/limitador/k8s_objects_test.go +++ b/pkg/limitador/k8s_objects_test.go @@ -119,5 +119,5 @@ func TestPodDisruptionBudget(t *testing.T) { limitadorObj := newTestLimitadorObj("my-limitador-instance", "default", nil) pdb := PodDisruptionBudget(limitadorObj) assert.DeepEqual(t, pdb.Spec.MaxUnavailable, intStrOne) - assert.DeepEqual(t, pdb.Spec.Selector.MatchLabels, Labels()) + assert.DeepEqual(t, pdb.Spec.Selector.MatchLabels, Labels(limitadorObj)) }