From 971ed1010e52601030a2fb1b9b91c166e412fec2 Mon Sep 17 00:00:00 2001
From: Max Leonard Inden <IndenML@gmail.com>
Date: Wed, 18 Apr 2018 12:52:05 +0200
Subject: [PATCH] kube-prometheus: Move service monitors to target folder

With 1d00e0ab ("ServiceMonitor: Enable Prometheus to select ServMon
outside own ns") merged: To emphasize the fact, that ServiceMonitors can
be deployed alongside their targets, this patch moves the Alertmanager,
Kube-State-Metrics, Node-Exporter and Prometheus Operator
Service-Monitor into the respective target folder in the kube-prometheus
project.
---
 .../alertmanager-main-service-monitor.libsonnet}      |  0
 jsonnet/alertmanager/alertmanager.libsonnet           |  1 +
 jsonnet/kube-prometheus.libsonnet                     |  8 ++++----
 .../kube-state-metrics-service-monitor.libsonnet}     |  0
 .../kube-state-metrics/kube-state-metrics.libsonnet   |  1 +
 .../node-exporter-service-monitor.libsonnet}          |  0
 jsonnet/node-exporter/node-exporter.libsonnet         |  1 +
 .../prometheus-operator-service-monitor.libsonnet}    |  0
 .../prometheus-operator/prometheus-operator.libsonnet | 11 ++++++-----
 jsonnet/prometheus/prometheus.libsonnet               |  4 ----
 .../alertmanager-main-service-monitor.yaml}           |  0
 .../kube-state-metrics-service-monitor.yaml}          |  0
 .../node-exporter-service-monitor.yaml}               |  0
 .../prometheus-operator-service-monitor.yaml}         |  0
 14 files changed, 13 insertions(+), 13 deletions(-)
 rename jsonnet/{prometheus/prometheus-k8s-service-monitor-alertmanager.libsonnet => alertmanager/alertmanager-main-service-monitor.libsonnet} (100%)
 rename jsonnet/{prometheus/prometheus-k8s-service-monitor-kube-state-metrics.libsonnet => kube-state-metrics/kube-state-metrics-service-monitor.libsonnet} (100%)
 rename jsonnet/{prometheus/prometheus-k8s-service-monitor-node-exporter.libsonnet => node-exporter/node-exporter-service-monitor.libsonnet} (100%)
 rename jsonnet/{prometheus/prometheus-k8s-service-monitor-prometheus-operator.libsonnet => prometheus-operator/prometheus-operator-service-monitor.libsonnet} (100%)
 rename manifests/{prometheus-k8s/prometheus-k8s-service-monitor-alertmanager.yaml => alertmanager-main/alertmanager-main-service-monitor.yaml} (100%)
 rename manifests/{prometheus-k8s/prometheus-k8s-service-monitor-kube-state-metrics.yaml => kube-state-metrics/kube-state-metrics-service-monitor.yaml} (100%)
 rename manifests/{prometheus-k8s/prometheus-k8s-service-monitor-node-exporter.yaml => node-exporter/node-exporter-service-monitor.yaml} (100%)
 rename manifests/{prometheus-k8s/prometheus-k8s-service-monitor-prometheus-operator.yaml => prometheus-operator/prometheus-operator-service-monitor.yaml} (100%)

diff --git a/jsonnet/prometheus/prometheus-k8s-service-monitor-alertmanager.libsonnet b/jsonnet/alertmanager/alertmanager-main-service-monitor.libsonnet
similarity index 100%
rename from jsonnet/prometheus/prometheus-k8s-service-monitor-alertmanager.libsonnet
rename to jsonnet/alertmanager/alertmanager-main-service-monitor.libsonnet
diff --git a/jsonnet/alertmanager/alertmanager.libsonnet b/jsonnet/alertmanager/alertmanager.libsonnet
index ef837aba..ec3954c3 100644
--- a/jsonnet/alertmanager/alertmanager.libsonnet
+++ b/jsonnet/alertmanager/alertmanager.libsonnet
@@ -2,5 +2,6 @@
     config:: import "alertmanager-main-secret.libsonnet",
     serviceAccount:: import "alertmanager-main-service-account.libsonnet",
     service:: import "alertmanager-main-service.libsonnet",
+    serviceMonitor:: import "alertmanager-main-service-monitor.libsonnet",
     alertmanager:: import "alertmanager-main.libsonnet",
 }
diff --git a/jsonnet/kube-prometheus.libsonnet b/jsonnet/kube-prometheus.libsonnet
index 44ee06a5..14864056 100644
--- a/jsonnet/kube-prometheus.libsonnet
+++ b/jsonnet/kube-prometheus.libsonnet
@@ -35,6 +35,7 @@ local ruleFiles = {
             "alertmanager-main/alertmanager-main-secret.yaml":          alertmanager.config.new(namespace, alertmanagerConfig),
             "alertmanager-main/alertmanager-main-service-account.yaml": alertmanager.serviceAccount.new(namespace),
             "alertmanager-main/alertmanager-main-service.yaml":         alertmanager.service.new(namespace),
+            "alertmanager-main/alertmanager-main-service-monitor.yaml": alertmanager.serviceMonitor.new(namespace),
             "alertmanager-main/alertmanager-main.yaml":                 alertmanager.alertmanager.new(namespace),
 
             "kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml": ksm.clusterRoleBinding.new(namespace),
@@ -44,17 +45,20 @@ local ruleFiles = {
             "kube-state-metrics/kube-state-metrics-role.yaml":                 ksm.role.new(namespace),
             "kube-state-metrics/kube-state-metrics-service-account.yaml":      ksm.serviceAccount.new(namespace),
             "kube-state-metrics/kube-state-metrics-service.yaml":              ksm.service.new(namespace),
+            "kube-state-metrics/kube-state-metrics-service-monitor.yaml":      ksm.serviceMonitor.new(namespace),
 
             "node-exporter/node-exporter-cluster-role-binding.yaml": nodeExporter.clusterRoleBinding.new(namespace),
             "node-exporter/node-exporter-cluster-role.yaml":         nodeExporter.clusterRole.new(),
             "node-exporter/node-exporter-daemonset.yaml":            nodeExporter.daemonset.new(namespace),
             "node-exporter/node-exporter-service-account.yaml":      nodeExporter.serviceAccount.new(namespace),
             "node-exporter/node-exporter-service.yaml":              nodeExporter.service.new(namespace),
+            "node-exporter/node-exporter-service-monitor.yaml":      nodeExporter.serviceMonitor.new(namespace),
 
             "prometheus-operator/prometheus-operator-cluster-role-binding.yaml": po.clusterRoleBinding.new(namespace),
             "prometheus-operator/prometheus-operator-cluster-role.yaml":         po.clusterRole.new(),
             "prometheus-operator/prometheus-operator-deployment.yaml":           po.deployment.new(namespace),
             "prometheus-operator/prometheus-operator-service.yaml":              po.service.new(namespace),
+            "prometheus-operator/prometheus-operator-service-monitor.yaml":      po.serviceMonitor.new(namespace),
             "prometheus-operator/prometheus-operator-service-account.yaml":      po.serviceAccount.new(namespace),
 
             "prometheus-k8s/prometheus-k8s-cluster-role-binding.yaml":                    prometheus.clusterRoleBinding.new(namespace),
@@ -71,15 +75,11 @@ local ruleFiles = {
             "prometheus-k8s/prometheus-k8s-role-namespace.yaml":                          prometheus.roleNamespace.new(namespace),
             "prometheus-k8s/prometheus-k8s-role-kube-system.yaml":                        prometheus.roleKubeSystem.new(),
             "prometheus-k8s/prometheus-k8s-role-default.yaml":                            prometheus.roleDefault.new(),
-            "prometheus-k8s/prometheus-k8s-service-monitor-alertmanager.yaml":            prometheus.serviceMonitorAlertmanager.new(namespace),
             "prometheus-k8s/prometheus-k8s-service-monitor-apiserver.yaml":               prometheus.serviceMonitorApiserver.new(namespace),
             "prometheus-k8s/prometheus-k8s-service-monitor-coredns.yaml":                 prometheus.serviceMonitorCoreDNS.new(namespace),
             "prometheus-k8s/prometheus-k8s-service-monitor-kube-controller-manager.yaml": prometheus.serviceMonitorControllerManager.new(namespace),
             "prometheus-k8s/prometheus-k8s-service-monitor-kube-scheduler.yaml":          prometheus.serviceMonitorScheduler.new(namespace),
-            "prometheus-k8s/prometheus-k8s-service-monitor-kube-state-metrics.yaml":      prometheus.serviceMonitorKubeStateMetrics.new(namespace),
             "prometheus-k8s/prometheus-k8s-service-monitor-kubelet.yaml":                 prometheus.serviceMonitorKubelet.new(namespace),
-            "prometheus-k8s/prometheus-k8s-service-monitor-node-exporter.yaml":           prometheus.serviceMonitorNodeExporter.new(namespace),
-            "prometheus-k8s/prometheus-k8s-service-monitor-prometheus-operator.yaml":     prometheus.serviceMonitorPrometheusOperator.new(namespace),
             "prometheus-k8s/prometheus-k8s-service-monitor-prometheus.yaml":              prometheus.serviceMonitorPrometheus.new(namespace),
         }
 }
diff --git a/jsonnet/prometheus/prometheus-k8s-service-monitor-kube-state-metrics.libsonnet b/jsonnet/kube-state-metrics/kube-state-metrics-service-monitor.libsonnet
similarity index 100%
rename from jsonnet/prometheus/prometheus-k8s-service-monitor-kube-state-metrics.libsonnet
rename to jsonnet/kube-state-metrics/kube-state-metrics-service-monitor.libsonnet
diff --git a/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet b/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet
index 3f9b8ba2..d82765f6 100644
--- a/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet
+++ b/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet
@@ -6,4 +6,5 @@
     role:: import "kube-state-metrics-role.libsonnet",
     serviceAccount:: import "kube-state-metrics-service-account.libsonnet",
     service:: import "kube-state-metrics-service.libsonnet",
+    serviceMonitor:: import "kube-state-metrics-service-monitor.libsonnet",
 }
diff --git a/jsonnet/prometheus/prometheus-k8s-service-monitor-node-exporter.libsonnet b/jsonnet/node-exporter/node-exporter-service-monitor.libsonnet
similarity index 100%
rename from jsonnet/prometheus/prometheus-k8s-service-monitor-node-exporter.libsonnet
rename to jsonnet/node-exporter/node-exporter-service-monitor.libsonnet
diff --git a/jsonnet/node-exporter/node-exporter.libsonnet b/jsonnet/node-exporter/node-exporter.libsonnet
index 57e67911..5438f001 100644
--- a/jsonnet/node-exporter/node-exporter.libsonnet
+++ b/jsonnet/node-exporter/node-exporter.libsonnet
@@ -4,4 +4,5 @@
     daemonset:: import "node-exporter-daemonset.libsonnet",
     serviceAccount:: import "node-exporter-service-account.libsonnet",
     service:: import "node-exporter-service.libsonnet",
+    serviceMonitor:: import "node-exporter-service-monitor.libsonnet",
 }
diff --git a/jsonnet/prometheus/prometheus-k8s-service-monitor-prometheus-operator.libsonnet b/jsonnet/prometheus-operator/prometheus-operator-service-monitor.libsonnet
similarity index 100%
rename from jsonnet/prometheus/prometheus-k8s-service-monitor-prometheus-operator.libsonnet
rename to jsonnet/prometheus-operator/prometheus-operator-service-monitor.libsonnet
diff --git a/jsonnet/prometheus-operator/prometheus-operator.libsonnet b/jsonnet/prometheus-operator/prometheus-operator.libsonnet
index 849acbbf..3659250d 100644
--- a/jsonnet/prometheus-operator/prometheus-operator.libsonnet
+++ b/jsonnet/prometheus-operator/prometheus-operator.libsonnet
@@ -1,7 +1,8 @@
 {
-  clusterRoleBinding:: import "prometheus-operator-cluster-role-binding.libsonnet",
-  clusterRole:: import "prometheus-operator-cluster-role.libsonnet",
-  deployment:: import "prometheus-operator-deployment.libsonnet",
-  serviceAccount:: import "prometheus-operator-service-account.libsonnet",
-  service:: import "prometheus-operator-service.libsonnet",
+    clusterRoleBinding:: import "prometheus-operator-cluster-role-binding.libsonnet",
+    clusterRole:: import "prometheus-operator-cluster-role.libsonnet",
+    deployment:: import "prometheus-operator-deployment.libsonnet",
+    serviceAccount:: import "prometheus-operator-service-account.libsonnet",
+    service:: import "prometheus-operator-service.libsonnet",
+    serviceMonitor:: import "prometheus-operator-service-monitor.libsonnet",
 }
diff --git a/jsonnet/prometheus/prometheus.libsonnet b/jsonnet/prometheus/prometheus.libsonnet
index 99fb9f54..1ba4f55d 100644
--- a/jsonnet/prometheus/prometheus.libsonnet
+++ b/jsonnet/prometheus/prometheus.libsonnet
@@ -11,15 +11,11 @@
     roleDefault:: import "prometheus-k8s-role-default.libsonnet",
     rules:: import "prometheus-k8s-rules.libsonnet",
     serviceAccount:: import "prometheus-k8s-service-account.libsonnet",
-    serviceMonitorAlertmanager:: import "prometheus-k8s-service-monitor-alertmanager.libsonnet",
     serviceMonitorApiserver:: import "prometheus-k8s-service-monitor-apiserver.libsonnet",
     serviceMonitorCoreDNS:: import "prometheus-k8s-service-monitor-coredns.libsonnet",
     serviceMonitorControllerManager:: import "prometheus-k8s-service-monitor-kube-controller-manager.libsonnet",
     serviceMonitorScheduler:: import "prometheus-k8s-service-monitor-kube-scheduler.libsonnet",
-    serviceMonitorKubeStateMetrics:: import "prometheus-k8s-service-monitor-kube-state-metrics.libsonnet",
     serviceMonitorKubelet:: import "prometheus-k8s-service-monitor-kubelet.libsonnet",
-    serviceMonitorNodeExporter:: import "prometheus-k8s-service-monitor-node-exporter.libsonnet",
-    serviceMonitorPrometheusOperator:: import "prometheus-k8s-service-monitor-prometheus-operator.libsonnet",
     serviceMonitorPrometheus:: import "prometheus-k8s-service-monitor-prometheus.libsonnet",
     service:: import "prometheus-k8s-service.libsonnet",
     prometheus:: import "prometheus-k8s.libsonnet",
diff --git a/manifests/prometheus-k8s/prometheus-k8s-service-monitor-alertmanager.yaml b/manifests/alertmanager-main/alertmanager-main-service-monitor.yaml
similarity index 100%
rename from manifests/prometheus-k8s/prometheus-k8s-service-monitor-alertmanager.yaml
rename to manifests/alertmanager-main/alertmanager-main-service-monitor.yaml
diff --git a/manifests/prometheus-k8s/prometheus-k8s-service-monitor-kube-state-metrics.yaml b/manifests/kube-state-metrics/kube-state-metrics-service-monitor.yaml
similarity index 100%
rename from manifests/prometheus-k8s/prometheus-k8s-service-monitor-kube-state-metrics.yaml
rename to manifests/kube-state-metrics/kube-state-metrics-service-monitor.yaml
diff --git a/manifests/prometheus-k8s/prometheus-k8s-service-monitor-node-exporter.yaml b/manifests/node-exporter/node-exporter-service-monitor.yaml
similarity index 100%
rename from manifests/prometheus-k8s/prometheus-k8s-service-monitor-node-exporter.yaml
rename to manifests/node-exporter/node-exporter-service-monitor.yaml
diff --git a/manifests/prometheus-k8s/prometheus-k8s-service-monitor-prometheus-operator.yaml b/manifests/prometheus-operator/prometheus-operator-service-monitor.yaml
similarity index 100%
rename from manifests/prometheus-k8s/prometheus-k8s-service-monitor-prometheus-operator.yaml
rename to manifests/prometheus-operator/prometheus-operator-service-monitor.yaml
-- 
GitLab