From 723ac0fd271eb089f31bf5aa91378cf4a1af54b6 Mon Sep 17 00:00:00 2001
From: paulfantom <pawel@krupa.net.pl>
Date: Fri, 18 Dec 2020 11:04:57 +0100
Subject: [PATCH] jsonnet: add missing labels

Signed-off-by: paulfantom <pawel@krupa.net.pl>
---
 .../alertmanager/alertmanager.libsonnet       |  8 ++++---
 .../kube-prometheus/kube-prometheus.libsonnet | 12 ++++++++++-
 .../node-exporter/node-exporter.libsonnet     |  3 +++
 .../prometheus-adapter.libsonnet              | 13 ++++++++++--
 .../prometheus/prometheus.libsonnet           | 21 ++++++++++++++-----
 5 files changed, 46 insertions(+), 11 deletions(-)

diff --git a/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet b/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet
index c857344d..af9bf854 100644
--- a/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet
+++ b/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet
@@ -52,9 +52,9 @@
       },
       replicas: 3,
       labels: {
-        'app.kubernetes.io/name': 'alertmanager-' + $._config.alertmanager.name,
+        'app.kubernetes.io/name': 'alertmanager',
         'app.kubernetes.io/version': $._config.versions.alertmanager,
-        'app.kubernetes.io/component': 'router',
+        'app.kubernetes.io/component': 'alert-router',
         'app.kubernetes.io/part-of': 'kube-prometheus',
       },
       selectorLabels: {
@@ -73,6 +73,7 @@
       metadata: {
         name: 'alertmanager-' + $._config.alertmanager.name,
         namespace: $._config.namespace,
+        labels: { alertmanager: $._config.alertmanager.name } + $._config.alertmanager.labels,
       },
       stringData: {
         'alertmanager.yaml': if std.type($._config.alertmanager.config) == 'object'
@@ -89,6 +90,7 @@
       metadata: {
         name: 'alertmanager-' + $._config.alertmanager.name,
         namespace: $._config.namespace,
+        labels: { alertmanager: $._config.alertmanager.name } + $._config.alertmanager.labels,
       },
     },
 
@@ -106,7 +108,7 @@
         ],
         selector: {
           app: 'alertmanager',
-          alertmanager: $._config.alertmanager.name
+          alertmanager: $._config.alertmanager.name,
         } + $._config.alertmanager.selectorLabels,
         sessionAffinity: 'ClientIP',
       },
diff --git a/jsonnet/kube-prometheus/kube-prometheus.libsonnet b/jsonnet/kube-prometheus/kube-prometheus.libsonnet
index 3bfd4768..d80feac5 100644
--- a/jsonnet/kube-prometheus/kube-prometheus.libsonnet
+++ b/jsonnet/kube-prometheus/kube-prometheus.libsonnet
@@ -86,6 +86,7 @@ local kubeRbacProxyContainer = import './kube-rbac-proxy/container.libsonnet';
 
   grafana+:: {
     local dashboardDefinitions = super.dashboardDefinitions,
+
     dashboardDefinitions: {
       apiVersion: 'v1',
       kind: 'ConfigMapList',
@@ -97,6 +98,7 @@ local kubeRbacProxyContainer = import './kube-rbac-proxy/container.libsonnet';
       metadata: {
         name: 'grafana',
         namespace: $._config.namespace,
+        labels: $._config.grafana.labels,
       },
       spec: {
         selector: {
@@ -200,6 +202,14 @@ local kubeRbacProxyContainer = import './kube-rbac-proxy/container.libsonnet';
       },
     },
     prometheus+:: { rules: $.prometheusRules + $.prometheusAlerts },
-    grafana+:: { dashboards: $.grafanaDashboards },
+    grafana+:: {
+      labels: {
+        'app.kubernetes.io/name': 'grafana',
+        'app.kubernetes.io/version': $._config.versions.grafana,
+        'app.kubernetes.io/component': 'grafana',
+        'app.kubernetes.io/part-of': 'kube-prometheus',
+      },
+      dashboards: $.grafanaDashboards,
+    },
   },
 }
diff --git a/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet b/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet
index 44cc2edd..fd2510f6 100644
--- a/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet
+++ b/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet
@@ -27,6 +27,7 @@
       kind: 'ClusterRoleBinding',
       metadata: {
         name: 'node-exporter',
+        labels: $._config.nodeExporter.labels,
       },
       roleRef: {
         apiGroup: 'rbac.authorization.k8s.io',
@@ -45,6 +46,7 @@
       kind: 'ClusterRole',
       metadata: {
         name: 'node-exporter',
+        labels: $._config.nodeExporter.labels,
       },
       rules: [
         {
@@ -157,6 +159,7 @@
       metadata: {
         name: 'node-exporter',
         namespace: $._config.namespace,
+        labels: $._config.nodeExporter.labels,
       },
     },
 
diff --git a/jsonnet/kube-prometheus/prometheus-adapter/prometheus-adapter.libsonnet b/jsonnet/kube-prometheus/prometheus-adapter/prometheus-adapter.libsonnet
index e4ba99e3..55950bf0 100644
--- a/jsonnet/kube-prometheus/prometheus-adapter/prometheus-adapter.libsonnet
+++ b/jsonnet/kube-prometheus/prometheus-adapter/prometheus-adapter.libsonnet
@@ -9,7 +9,7 @@
       name: 'prometheus-adapter',
       namespace: $._config.namespace,
       labels: {
-        'app.kubernetes.io/name': $._config.prometheusAdapter.name,
+        'app.kubernetes.io/name': 'prometheus-adapter',
         'app.kubernetes.io/version': $._config.versions.prometheusAdapter,
         'app.kubernetes.io/component': 'metrics-adapter',
         'app.kubernetes.io/part-of': 'kube-prometheus',
@@ -58,6 +58,7 @@
       kind: 'APIService',
       metadata: {
         name: 'v1beta1.metrics.k8s.io',
+        labels: $._config.prometheusAdapter.labels,
       },
       spec: {
         service: {
@@ -78,6 +79,7 @@
       metadata: {
         name: 'adapter-config',
         namespace: $._config.prometheusAdapter.namespace,
+        labels: $._config.prometheusAdapter.labels,
       },
       data: { 'config.yaml': std.manifestYamlDoc($._config.prometheusAdapter.config) },
     },
@@ -150,6 +152,7 @@
         metadata: {
           name: $._config.prometheusAdapter.name,
           namespace: $._config.prometheusAdapter.namespace,
+          labels: $._config.prometheusAdapter.labels,
         },
         spec: {
           replicas: 1,
@@ -182,6 +185,7 @@
       metadata: {
         name: $._config.prometheusAdapter.name,
         namespace: $._config.prometheusAdapter.namespace,
+        labels: $._config.prometheusAdapter.labels,
       },
     },
 
@@ -190,6 +194,7 @@
       kind: 'ClusterRole',
       metadata: {
         name: $._config.prometheusAdapter.name,
+        labels: $._config.prometheusAdapter.labels,
       },
       rules: [{
         apiGroups: [''],
@@ -203,6 +208,7 @@
       kind: 'ClusterRoleBinding',
       metadata: {
         name: $._config.prometheusAdapter.name,
+        labels: $._config.prometheusAdapter.labels,
       },
       roleRef: {
         apiGroup: 'rbac.authorization.k8s.io',
@@ -221,6 +227,7 @@
       kind: 'ClusterRoleBinding',
       metadata: {
         name: 'resource-metrics:system:auth-delegator',
+        labels: $._config.prometheusAdapter.labels,
       },
       roleRef: {
         apiGroup: 'rbac.authorization.k8s.io',
@@ -239,6 +246,7 @@
       kind: 'ClusterRole',
       metadata: {
         name: 'resource-metrics-server-resources',
+        labels: $._config.prometheusAdapter.labels,
       },
       rules: [{
         apiGroups: ['metrics.k8s.io'],
@@ -256,7 +264,7 @@
           'rbac.authorization.k8s.io/aggregate-to-admin': 'true',
           'rbac.authorization.k8s.io/aggregate-to-edit': 'true',
           'rbac.authorization.k8s.io/aggregate-to-view': 'true',
-        },
+        } + $._config.prometheusAdapter.labels,
       },
       rules: [{
         apiGroups: ['metrics.k8s.io'],
@@ -271,6 +279,7 @@
       metadata: {
         name: 'resource-metrics-auth-reader',
         namespace: 'kube-system',
+        labels: $._config.prometheusAdapter.labels,
       },
       roleRef: {
         apiGroup: 'rbac.authorization.k8s.io',
diff --git a/jsonnet/kube-prometheus/prometheus/prometheus.libsonnet b/jsonnet/kube-prometheus/prometheus/prometheus.libsonnet
index 1a666e1d..7f8a2c35 100644
--- a/jsonnet/kube-prometheus/prometheus/prometheus.libsonnet
+++ b/jsonnet/kube-prometheus/prometheus/prometheus.libsonnet
@@ -14,7 +14,7 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
       rules: {},
       namespaces: ['default', 'kube-system', $._config.namespace],
       labels: {
-        'app.kubernetes.io/name': 'prometheus-' + $._config.prometheus.name,
+        'app.kubernetes.io/name': 'prometheus',
         'app.kubernetes.io/version': $._config.versions.prometheus,
         'app.kubernetes.io/component': 'prometheus',
         'app.kubernetes.io/part-of': 'kube-prometheus',
@@ -43,6 +43,7 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
       metadata: {
         name: 'prometheus-' + p.name,
         namespace: p.namespace,
+        labels: $._config.prometheus.labels,
       },
     },
 
@@ -70,7 +71,7 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
         labels: {
           prometheus: p.name,
           role: 'alert-rules',
-        },
+        } + $._config.prometheus.labels,
         name: 'prometheus-' + p.name + '-rules',
         namespace: p.namespace,
       },
@@ -86,6 +87,7 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
         metadata: {
           name: 'prometheus-' + p.name,
           namespace: namespace,
+          labels: $._config.prometheus.labels,
         },
         roleRef: {
           apiGroup: 'rbac.authorization.k8s.io',
@@ -107,7 +109,10 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
     clusterRole: {
       apiVersion: 'rbac.authorization.k8s.io/v1',
       kind: 'ClusterRole',
-      metadata: { name: 'prometheus-' + p.name },
+      metadata: {
+        name: 'prometheus-' + p.name,
+        labels: $._config.prometheus.labels,
+      },
       rules: [
         {
           apiGroups: [''],
@@ -127,6 +132,7 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
       metadata: {
         name: 'prometheus-' + p.name + '-config',
         namespace: p.namespace,
+        labels: $._config.prometheus.labels,
       },
       rules: [{
         apiGroups: [''],
@@ -141,6 +147,7 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
       metadata: {
         name: 'prometheus-' + p.name + '-config',
         namespace: p.namespace,
+        labels: $._config.prometheus.labels,
       },
       roleRef: {
         apiGroup: 'rbac.authorization.k8s.io',
@@ -157,7 +164,10 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
     clusterRoleBinding: {
       apiVersion: 'rbac.authorization.k8s.io/v1',
       kind: 'ClusterRoleBinding',
-      metadata: { name: 'prometheus-' + p.name },
+      metadata: {
+        name: 'prometheus-' + p.name,
+        labels: $._config.prometheus.labels,
+      },
       roleRef: {
         apiGroup: 'rbac.authorization.k8s.io',
         kind: 'ClusterRole',
@@ -177,6 +187,7 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
         metadata: {
           name: 'prometheus-' + p.name,
           namespace: namespace,
+          labels: $._config.prometheus.labels,
         },
         rules: [
           {
@@ -210,7 +221,7 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
         version: $._config.versions.prometheus,
         image: $._config.imageRepos.prometheus + ':' + $._config.versions.prometheus,
         podMetadata: {
-          labels: $._config.prometheus.labels
+          labels: $._config.prometheus.labels,
         },
         serviceAccountName: 'prometheus-' + p.name,
         serviceMonitorSelector: {},
-- 
GitLab