From 7afbfa35346887b0e779bb3e759f5806ada67987 Mon Sep 17 00:00:00 2001
From: paulfantom <pawel@krupa.net.pl>
Date: Tue, 26 Jan 2021 15:34:54 +0100
Subject: [PATCH] jsonnet: move all images and versions into values.common

Signed-off-by: paulfantom <pawel@krupa.net.pl>
---
 jsonnet/kube-prometheus/main.libsonnet | 59 +++++++++++++++++---------
 1 file changed, 39 insertions(+), 20 deletions(-)

diff --git a/jsonnet/kube-prometheus/main.libsonnet b/jsonnet/kube-prometheus/main.libsonnet
index 15f88b7d..2a2ad271 100644
--- a/jsonnet/kube-prometheus/main.libsonnet
+++ b/jsonnet/kube-prometheus/main.libsonnet
@@ -18,60 +18,79 @@ local prometheus = import './components/prometheus.libsonnet';
         role: 'alert-rules',
         prometheus: $.values.prometheus.name,
       },
+      versions: {
+        alertmanager: '0.21.0',
+        blackboxExporter: '0.18.0',
+        grafana: '7.3.7',
+        kubeStateMetrics: '1.9.7',
+        nodeExporter: '1.0.1',
+        prometheus: '2.24.0',
+        prometheusAdapter: '0.8.2',
+        prometheusOperator: '0.45.0',
+      },
+      images: {
+        alertmanager: 'quay.io/prometheus/alertmanager:v' + $.values.common.versions.alertmanager,
+        blackboxExporter: 'quay.io/prometheus/blackbox-exporter:v' + $.values.common.versions.blackboxExporter,
+        grafana: 'grafana/grafana:v' + $.values.common.versions.grafana,
+        kubeStateMetrics: 'quay.io/coreos/kube-state-metrics:v' + $.values.common.versions.kubeStateMetrics,
+        nodeExporter: 'quay.io/prometheus/node-exporter:v' + $.values.common.versions.nodeExporter,
+        prometheus: 'quay.io/prometheus/prometheus:v' + $.values.common.versions.prometheus,
+        prometheusAdapter: 'directxman12/k8s-prometheus-adapter:v' + $.values.common.versions.prometheusAdapter,
+        prometheusOperator: 'quay.io/prometheus-operator/prometheus-operator:v' + $.values.common.versions.prometheusOperator,
+        prometheusOperatorReloader: 'quay.io/prometheus-operator/prometheus-config-reloader:v' + $.values.common.versions.prometheusOperator,
+      },
     },
     alertmanager: {
       name: 'main',
       namespace: $.values.common.namespace,
-      version: '0.21.0',
-      image: 'quay.io/prometheus/alertmanager:v0.21.0',
-      mixin+: {
-        ruleLabels: $.values.common.ruleLabels,
-      },
+      version: $.values.common.versions.alertmanager,
+      image: $.values.common.images.alertmanager,
+      mixin+: { ruleLabels: $.values.common.ruleLabels },
     },
     blackboxExporter: {
       namespace: $.values.common.namespace,
-      version: '0.18.0',
-      image: 'quay.io/prometheus/blackbox-exporter:v0.18.0',
+      version: $.values.common.versions.blackboxExporter,
+      image: $.values.common.images.blackboxExporter,
     },
     grafana: {
       namespace: $.values.common.namespace,
-      version: '7.3.5',
-      image: 'grafana/grafana:v7.3.7',
+      version: $.values.common.versions.grafana,
+      image: $.values.common.images.grafana,
       prometheusName: $.values.prometheus.name,
       // TODO(paulfantom) This should be done by iterating over all objects and looking for object.mixin.grafanaDashboards
       dashboards: $.nodeExporter.mixin.grafanaDashboards + $.prometheus.mixin.grafanaDashboards + $.kubernetesMixin.mixin.grafanaDashboards,
     },
     kubeStateMetrics: {
       namespace: $.values.common.namespace,
-      version: '1.9.7',
-      image: 'quay.io/coreos/kube-state-metrics:v1.9.7',
+      version: $.values.common.versions.kubeStateMetrics,
+      image: $.values.common.images.kubeStateMetrics,
       mixin+: { ruleLabels: $.values.common.ruleLabels },
     },
     nodeExporter: {
       namespace: $.values.common.namespace,
-      version: '1.0.1',
-      image: 'quay.io/prometheus/node-exporter:v1.0.1',
+      version: $.values.common.versions.nodeExporter,
+      image: $.values.common.images.nodeExporter,
       mixin+: { ruleLabels: $.values.common.ruleLabels },
     },
     prometheus: {
       namespace: $.values.common.namespace,
-      version: '2.24.0',
-      image: 'quay.io/prometheus/prometheus:v2.24.0',
+      version: $.values.common.versions.prometheus,
+      image: $.values.common.images.prometheus,
       name: 'k8s',
       alertmanagerName: $.values.alertmanager.name,
       mixin+: { ruleLabels: $.values.common.ruleLabels },
     },
     prometheusAdapter: {
       namespace: $.values.common.namespace,
-      version: '0.8.2',
-      image: 'directxman12/k8s-prometheus-adapter:v0.8.2',
+      version: $.values.common.versions.prometheusAdapter,
+      image: $.values.common.images.prometheusAdapter,
       prometheusURL: 'http://prometheus-' + $.values.prometheus.name + '.' + $.values.common.namespace + '.svc.cluster.local:9090/',
     },
     prometheusOperator: {
       namespace: $.values.common.namespace,
-      version: '0.45.0',
-      image: 'quay.io/prometheus-operator/prometheus-operator:v0.45.0',
-      configReloaderImage: 'quay.io/prometheus-operator/prometheus-config-reloader:v0.45.0',
+      version: $.values.common.versions.prometheusOperator,
+      image: $.values.common.images.prometheusOperator,
+      configReloaderImage: $.values.common.images.prometheusOperatorReloader,
       commonLabels+: {
         'app.kubernetes.io/part-of': 'kube-prometheus',
       },
-- 
GitLab