From 34147c8be7fcaa88ecef0d857a289ee9aefb95f6 Mon Sep 17 00:00:00 2001
From: Nacho Barrientos <nacho.barrientos@cern.ch>
Date: Fri, 21 Mar 2025 09:26:55 +0100
Subject: [PATCH] Improve resource selectors

---
 templates/fluentbit-logs/daemonset.yaml       | 5 +++--
 templates/fluentbit-metrics/service.yaml      | 3 ++-
 templates/fluentbit-metrics/statefulset.yaml  | 8 +++++---
 templates/kube_state/deployment.yaml          | 6 ++++--
 templates/kube_state/service.yaml             | 4 +++-
 templates/kube_state/servicemonitor.yaml      | 3 ++-
 templates/node_exporter/daemonset.yaml        | 8 ++++----
 templates/node_exporter/podmonitor.yaml       | 3 ++-
 templates/prometheus_operator/deployment.yaml | 6 ++++--
 templates/prometheus_operator/service.yaml    | 4 ++--
 templates/pushgateway/deployment.yaml         | 6 ++++--
 templates/pushgateway/service.yaml            | 4 +++-
 templates/pushgateway/servicemonitor.yaml     | 3 ++-
 13 files changed, 40 insertions(+), 23 deletions(-)

diff --git a/templates/fluentbit-logs/daemonset.yaml b/templates/fluentbit-logs/daemonset.yaml
index 1104a45..d62d574 100644
--- a/templates/fluentbit-logs/daemonset.yaml
+++ b/templates/fluentbit-logs/daemonset.yaml
@@ -9,13 +9,14 @@ metadata:
 spec:
   selector:
       matchLabels:
-        name: it-monit-logs-collector-fluentbit
+        {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 6 }}
+        app.kubernetes.io/component: fluentbit-logs
   template:
     metadata:
       name: it-monit-logs-collector-fluentbit
       namespace: {{ .Release.Namespace }}
       labels:
-        name: it-monit-logs-collector-fluentbit
+        {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 8 }}
     spec:
       serviceAccountName: it-monit-logs-collector-fluentbit
       containers:
diff --git a/templates/fluentbit-metrics/service.yaml b/templates/fluentbit-metrics/service.yaml
index e45fc29..372792f 100644
--- a/templates/fluentbit-metrics/service.yaml
+++ b/templates/fluentbit-metrics/service.yaml
@@ -12,5 +12,6 @@ spec:
   - name: http
     port: {{ .Values.metrics.fluentbit.prometheusRemoteWriteInputConfig.port }}
   selector:
-    name: it-monit-metrics-collector-fluentbit
+    {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 4 }}
+    app.kubernetes.io/component: fluentbit-metrics
 {{- end -}}
diff --git a/templates/fluentbit-metrics/statefulset.yaml b/templates/fluentbit-metrics/statefulset.yaml
index 6fc036a..a3a3e70 100644
--- a/templates/fluentbit-metrics/statefulset.yaml
+++ b/templates/fluentbit-metrics/statefulset.yaml
@@ -8,15 +8,17 @@ metadata:
     {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 4 }}
 spec:
   selector:
-      matchLabels:
-        name: it-monit-metrics-collector-fluentbit
+    matchLabels:
+      {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: fluentbit-metrics
   replicas: {{ .Values.metrics.fluentbit.replicas }}
   template:
     metadata:
       name: it-monit-metrics-collector-fluentbit
       namespace: {{ .Release.Namespace }}
       labels:
-        name: it-monit-metrics-collector-fluentbit
+        {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 8 }}
+        app.kubernetes.io/component: fluentbit-metrics
     spec:
       containers:
         - name: it-monit-metrics-collector-fluentbit
diff --git a/templates/kube_state/deployment.yaml b/templates/kube_state/deployment.yaml
index b506c48..6974a88 100644
--- a/templates/kube_state/deployment.yaml
+++ b/templates/kube_state/deployment.yaml
@@ -10,11 +10,13 @@ spec:
   replicas: 1
   selector:
     matchLabels:
-      app.kubernetes.io/name: it-monit-metrics-collector-kubestate
+      {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: kube-state
   template:
     metadata:
       labels:
-        app.kubernetes.io/name: it-monit-metrics-collector-kubestate
+        {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 8 }}
+        app.kubernetes.io/component: kube-state
     spec:
       automountServiceAccountToken: true
       containers:
diff --git a/templates/kube_state/service.yaml b/templates/kube_state/service.yaml
index a5ba53e..1a1e83f 100644
--- a/templates/kube_state/service.yaml
+++ b/templates/kube_state/service.yaml
@@ -6,6 +6,7 @@ metadata:
   namespace: {{ .Release.Namespace }}
   labels:
     {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 4 }}
+    app.kubernetes.io/component: kube-state
 spec:
   clusterIP: None
   ports:
@@ -16,5 +17,6 @@ spec:
     port: 8081
     targetPort: telemetry
   selector:
-    app.kubernetes.io/name: it-monit-metrics-collector-kubestate
+    {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 4 }}
+    app.kubernetes.io/component: kube-state
 {{- end -}}
diff --git a/templates/kube_state/servicemonitor.yaml b/templates/kube_state/servicemonitor.yaml
index b4ed03c..e6d0d8b 100644
--- a/templates/kube_state/servicemonitor.yaml
+++ b/templates/kube_state/servicemonitor.yaml
@@ -26,7 +26,8 @@ spec:
     {{- end }}
   selector:
     matchLabels:
-      app.kubernetes.io/name: "it-monit-metrics-collector-kubestate"
+      {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 6 }}
+      app.kubernetes.io/component: kube-state
   namespaceSelector:
     matchNames:
     - {{ .Release.Namespace }}
diff --git a/templates/node_exporter/daemonset.yaml b/templates/node_exporter/daemonset.yaml
index fdd1c36..e553d12 100644
--- a/templates/node_exporter/daemonset.yaml
+++ b/templates/node_exporter/daemonset.yaml
@@ -9,13 +9,13 @@ metadata:
 spec:
   selector:
     matchLabels:
-      app.kubernetes.io/component: exporter
-      app.kubernetes.io/name: node-exporter
+      {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: node-exporter
   template:
     metadata:
       labels:
-        app.kubernetes.io/component: exporter
-        app.kubernetes.io/name: node-exporter
+        {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 8 }}
+        app.kubernetes.io/component: node-exporter
     spec:
       tolerations:
       - operator: Exists
diff --git a/templates/node_exporter/podmonitor.yaml b/templates/node_exporter/podmonitor.yaml
index 091ed20..6e049e7 100644
--- a/templates/node_exporter/podmonitor.yaml
+++ b/templates/node_exporter/podmonitor.yaml
@@ -12,7 +12,8 @@ spec:
         - {{ .Release.Namespace }}
   selector:
     matchLabels:
-      app.kubernetes.io/name: node-exporter
+      {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: node-exporter
   podMetricsEndpoints:
   - targetPort: 9100
     {{- if .Values.metrics.nodeExporter.scrapeInterval }}
diff --git a/templates/prometheus_operator/deployment.yaml b/templates/prometheus_operator/deployment.yaml
index c7631d3..d7a3120 100644
--- a/templates/prometheus_operator/deployment.yaml
+++ b/templates/prometheus_operator/deployment.yaml
@@ -10,13 +10,15 @@ spec:
   replicas: 1
   selector:
     matchLabels:
-      app.kubernetes.io/name: it-monit-metrics-operator-prometheus
+      {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: prometheus-operator
   template:
     metadata:
       annotations:
         kubectl.kubernetes.io/default-container: it-monit-metrics-operator-prometheus
       labels:
-        app.kubernetes.io/name: it-monit-metrics-operator-prometheus
+        {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 8 }}
+        app.kubernetes.io/component: prometheus-operator
     spec:
       automountServiceAccountToken: true
       containers:
diff --git a/templates/prometheus_operator/service.yaml b/templates/prometheus_operator/service.yaml
index 14fa20d..f18294a 100644
--- a/templates/prometheus_operator/service.yaml
+++ b/templates/prometheus_operator/service.yaml
@@ -13,6 +13,6 @@ spec:
     port: 8080
     targetPort: http
   selector:
-    app.kubernetes.io/component: controller
-    app.kubernetes.io/name: it-monit-metrics-operator-prometheus
+    {{- include "cern-it-monitoring-kubernetes.selectorLabels" . | nindent 4 }}
+    app.kubernetes.io/component: prometheus-operator
 {{- end -}}
diff --git a/templates/pushgateway/deployment.yaml b/templates/pushgateway/deployment.yaml
index 1d2d40e..be058bd 100644
--- a/templates/pushgateway/deployment.yaml
+++ b/templates/pushgateway/deployment.yaml
@@ -10,11 +10,13 @@ spec:
   replicas: 1
   selector:
     matchLabels:
-      app.kubernetes.io/name: it-monit-metrics-collector-pushgateway
+      {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 6 }}
+      app.kubernetes.io/component: pushgateway
   template:
     metadata:
       labels:
-        app.kubernetes.io/name: it-monit-metrics-collector-pushgateway
+        {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 8 }}
+        app.kubernetes.io/component: pushgateway
     spec:
       containers:
       - image: "{{ .Values.metrics.pushgateway.image.repository }}:{{ .Values.metrics.pushgateway.image.tag }}"
diff --git a/templates/pushgateway/service.yaml b/templates/pushgateway/service.yaml
index 729241c..98221d5 100644
--- a/templates/pushgateway/service.yaml
+++ b/templates/pushgateway/service.yaml
@@ -6,11 +6,13 @@ metadata:
   namespace: {{ .Release.Namespace }}
   labels:
     {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 4 }}
+    app.kubernetes.io/component: pushgateway
 spec:
   clusterIP: None
   ports:
   - name: http
     port: 9091
   selector:
-    app.kubernetes.io/name: it-monit-metrics-collector-pushgateway
+    {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 4 }}
+    app.kubernetes.io/component: pushgateway
 {{- end -}}
diff --git a/templates/pushgateway/servicemonitor.yaml b/templates/pushgateway/servicemonitor.yaml
index 4ece85c..bff7d57 100644
--- a/templates/pushgateway/servicemonitor.yaml
+++ b/templates/pushgateway/servicemonitor.yaml
@@ -14,5 +14,6 @@ spec:
     - {{ .Release.Namespace }}
   selector:
     matchLabels:
-      app.kubernetes.io/name: it-monit-metrics-collector-pushgateway
+      {{- include "cern-it-monitoring-kubernetes.labels" . | nindent 6 }}
+      app.kubernetes.io/component: pushgateway
 {{- end -}}
-- 
GitLab