From c2ea96bf4fc1eb03609388c60a5d84e6d99684c2 Mon Sep 17 00:00:00 2001
From: paulfantom <pawel@krupa.net.pl>
Date: Tue, 4 May 2021 15:39:44 +0200
Subject: [PATCH] jsonnet: use common to populate options for additional
 objects

Signed-off-by: paulfantom <pawel@krupa.net.pl>
---
 README.md                                      |  2 +-
 examples/jsonnet-snippets/platform.jsonnet     |  2 +-
 jsonnet/kube-prometheus/main.libsonnet         | 18 ++++++++----------
 .../platforms/platforms.libsonnet              |  2 +-
 4 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/README.md b/README.md
index 1dd99522..528199e8 100644
--- a/README.md
+++ b/README.md
@@ -376,7 +376,7 @@ These mixins are selectable via the `platform` field of kubePrometheus:
 (import 'kube-prometheus/main.libsonnet') +
 {
   values+:: {
-    kubePrometheus+: {
+    common+: {
       platform: 'example-platform',
     },
   },
diff --git a/examples/jsonnet-snippets/platform.jsonnet b/examples/jsonnet-snippets/platform.jsonnet
index a3ad9c3d..e3a58804 100644
--- a/examples/jsonnet-snippets/platform.jsonnet
+++ b/examples/jsonnet-snippets/platform.jsonnet
@@ -1,7 +1,7 @@
 (import 'kube-prometheus/main.libsonnet') +
 {
   values+:: {
-    kubePrometheus+: {
+    common+: {
       platform: 'example-platform',
     },
   },
diff --git a/jsonnet/kube-prometheus/main.libsonnet b/jsonnet/kube-prometheus/main.libsonnet
index a9b68896..e1dc0b59 100644
--- a/jsonnet/kube-prometheus/main.libsonnet
+++ b/jsonnet/kube-prometheus/main.libsonnet
@@ -16,6 +16,7 @@ local platformPatch = import './platforms/platforms.libsonnet';
   values:: {
     common: {
       namespace: 'default',
+      platform: null,
       ruleLabels: {
         role: 'alert-rules',
         prometheus: $.values.prometheus.name,
@@ -102,9 +103,6 @@ local platformPatch = import './platforms/platforms.libsonnet';
       version: $.values.common.versions.prometheusOperator,
       image: $.values.common.images.prometheusOperator,
       configReloaderImage: $.values.common.images.prometheusOperatorReloader,
-      commonLabels+: {
-        'app.kubernetes.io/part-of': 'kube-prometheus',
-      },
       mixin+: { ruleLabels: $.values.common.ruleLabels },
       kubeRbacProxyImage: $.values.common.images.kubeRbacProxy,
     },
@@ -112,11 +110,6 @@ local platformPatch = import './platforms/platforms.libsonnet';
       namespace: $.values.common.namespace,
       mixin+: { ruleLabels: $.values.common.ruleLabels },
     },
-    kubePrometheus: {
-      namespace: $.values.common.namespace,
-      mixin+: { ruleLabels: $.values.common.ruleLabels },
-      platform: null,
-    },
   },
 
   alertmanager: alertmanager($.values.alertmanager),
@@ -128,12 +121,17 @@ local platformPatch = import './platforms/platforms.libsonnet';
   prometheusAdapter: prometheusAdapter($.values.prometheusAdapter),
   prometheusOperator: prometheusOperator($.values.prometheusOperator),
   kubernetesControlPlane: kubernetesControlPlane($.values.kubernetesControlPlane),
-  kubePrometheus: customMixin($.values.kubePrometheus) + {
+  kubePrometheus: customMixin(
+    {
+      namespace: $.values.common.namespace,
+      mixin+: { ruleLabels: $.values.common.ruleLabels },
+    }
+  ) + {
     namespace: {
       apiVersion: 'v1',
       kind: 'Namespace',
       metadata: {
-        name: $.values.kubePrometheus.namespace,
+        name: $.values.common.namespace,
       },
     },
   },
diff --git a/jsonnet/kube-prometheus/platforms/platforms.libsonnet b/jsonnet/kube-prometheus/platforms/platforms.libsonnet
index 979190f2..a3978a6c 100644
--- a/jsonnet/kube-prometheus/platforms/platforms.libsonnet
+++ b/jsonnet/kube-prometheus/platforms/platforms.libsonnet
@@ -26,7 +26,7 @@ local platformPatch(p) = if p != null && std.objectHas(platforms, p) then platfo
     prometheusOperator: {},
     kubernetesControlPlane: {},
     kubePrometheus: {},
-  } + platformPatch($.values.kubePrometheus.platform),
+  } + platformPatch($.values.common.platform),
 
   alertmanager+: p.alertmanager,
   blackboxExporter+: p.blackboxExporter,
-- 
GitLab