From bf9a917cfa6974848e233fd78bfe06e164227941 Mon Sep 17 00:00:00 2001 From: paulfantom <pawel@krupa.net.pl> Date: Mon, 22 Feb 2021 16:38:19 +0100 Subject: [PATCH] examples: adapt examples to stop modifying prometheus object when it is not needed --- ...additional-namespaces-servicemonitor.jsonnet | 5 +++-- examples/additional-namespaces.jsonnet | 2 +- examples/alertmanager-config-external.jsonnet | 2 +- examples/etcd.jsonnet | 2 +- examples/kustomize.jsonnet | 2 +- examples/minikube.jsonnet | 6 +++--- ...etheus-additional-alert-rule-example.jsonnet | 17 ++++++++++++----- ...us-additional-recording-rule-example.jsonnet | 17 ++++++++++++----- ...eus-additional-rendered-rule-example.jsonnet | 17 ++++++++++++----- 9 files changed, 46 insertions(+), 24 deletions(-) diff --git a/examples/additional-namespaces-servicemonitor.jsonnet b/examples/additional-namespaces-servicemonitor.jsonnet index 6cfe37db..ec978da7 100644 --- a/examples/additional-namespaces-servicemonitor.jsonnet +++ b/examples/additional-namespaces-servicemonitor.jsonnet @@ -7,7 +7,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { namespaces+: ['my-namespace', 'my-second-namespace'], }, }, - prometheus+: { + exampleApplication: { serviceMonitorMyNamespace: { apiVersion: 'monitoring.coreos.com/v1', kind: 'ServiceMonitor', @@ -39,4 +39,5 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { { ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } + { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + -{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } +{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } + +{ ['example-application-' + name]: kp.exampleApplication[name] for name in std.objectFields(kp.exampleApplication) } diff --git a/examples/additional-namespaces.jsonnet b/examples/additional-namespaces.jsonnet index 85cae475..45c606a6 100644 --- a/examples/additional-namespaces.jsonnet +++ b/examples/additional-namespaces.jsonnet @@ -4,7 +4,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { namespace: 'monitoring', }, - prometheus+:: { + prometheus+: { namespaces+: ['my-namespace', 'my-second-namespace'], }, }, diff --git a/examples/alertmanager-config-external.jsonnet b/examples/alertmanager-config-external.jsonnet index 5d96d23d..49f6b558 100644 --- a/examples/alertmanager-config-external.jsonnet +++ b/examples/alertmanager-config-external.jsonnet @@ -1,5 +1,5 @@ ((import 'kube-prometheus/main.libsonnet') + { - _config+:: { + values+:: { alertmanager+: { config: importstr 'alertmanager-config.yaml', }, diff --git a/examples/etcd.jsonnet b/examples/etcd.jsonnet index e494b6ad..7126ee31 100644 --- a/examples/etcd.jsonnet +++ b/examples/etcd.jsonnet @@ -6,7 +6,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + }, // Reference info: https://github.com/coreos/kube-prometheus/blob/master/README.md#static-etcd-configuration - etcd+:: { + etcd+: { // Configure this to be the IP(s) to scrape - i.e. your etcd node(s) (use commas to separate multiple values). ips: ['127.0.0.1'], diff --git a/examples/kustomize.jsonnet b/examples/kustomize.jsonnet index ab548b05..455b38bd 100644 --- a/examples/kustomize.jsonnet +++ b/examples/kustomize.jsonnet @@ -26,7 +26,7 @@ local manifests = { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + { ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + { ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } + - { ['kubernetes-' + name]: kp.kubernetesMixin[name] for name in std.objectFields(kp.kubernetesMixin) }; + { ['kubernetes-' + name]: kp.kubernetesControlPlane[name] for name in std.objectFields(kp.kubernetesControlPlane) }; local kustomizationResourceFile(name) = './manifests/' + name + '.yaml'; local kustomization = { diff --git a/examples/minikube.jsonnet b/examples/minikube.jsonnet index dd2f77b4..87b88d69 100644 --- a/examples/minikube.jsonnet +++ b/examples/minikube.jsonnet @@ -8,10 +8,10 @@ local kp = common+: { namespace: 'monitoring', }, - alertmanager+:: { + alertmanager+: { config: importstr 'alertmanager-config.yaml', }, - grafana+:: { + grafana+: { config: { // http://docs.grafana.org/installation/configuration/ sections: { // Do not require grafana users to login/authenticate @@ -40,7 +40,7 @@ local kp = }, }, }, - alertmanager+:: { + alertmanager+: { alertmanager+: { // Reference info: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec spec+: { diff --git a/examples/prometheus-additional-alert-rule-example.jsonnet b/examples/prometheus-additional-alert-rule-example.jsonnet index 63ec2ea7..483b9cb1 100644 --- a/examples/prometheus-additional-alert-rule-example.jsonnet +++ b/examples/prometheus-additional-alert-rule-example.jsonnet @@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { namespace: 'monitoring', }, }, - prometheus+: { - prometheusRule+: { - spec+: { - groups+: [ + exampleApplication: { + prometheusRuleExample: { + apiVersion: 'monitoring.coreos.com/v1', + kind: 'PrometheusRule', + metadata: { + name: 'my-prometheus-rule', + namespace: $.values.common.namespace, + }, + spec: { + groups: [ { name: 'example-group', rules: [ @@ -36,4 +42,5 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + { ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + -{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } +{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } + +{ ['example-application-' + name]: kp.exampleApplication[name] for name in std.objectFields(kp.exampleApplication) } diff --git a/examples/prometheus-additional-recording-rule-example.jsonnet b/examples/prometheus-additional-recording-rule-example.jsonnet index c2abc4d3..5e67b03f 100644 --- a/examples/prometheus-additional-recording-rule-example.jsonnet +++ b/examples/prometheus-additional-recording-rule-example.jsonnet @@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { namespace: 'monitoring', }, }, - prometheus+: { - prometheusRule+: { - spec+: { - groups+: [ + exampleApplication: { + prometheusRuleExample: { + apiVersion: 'monitoring.coreos.com/v1', + kind: 'PrometheusRule', + metadata: { + name: 'my-prometheus-rule', + namespace: $.values.common.namespace, + }, + spec: { + groups: [ { name: 'example-group', rules: [ @@ -30,4 +36,5 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + { ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + -{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } +{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } + +{ ['example-application-' + name]: kp.exampleApplication[name] for name in std.objectFields(kp.exampleApplication) } diff --git a/examples/prometheus-additional-rendered-rule-example.jsonnet b/examples/prometheus-additional-rendered-rule-example.jsonnet index 29676851..66c7937c 100644 --- a/examples/prometheus-additional-rendered-rule-example.jsonnet +++ b/examples/prometheus-additional-rendered-rule-example.jsonnet @@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { namespace: 'monitoring', }, }, - prometheus+: { - prometheusRule+: { - spec+: { - groups+: (import 'existingrule.json').groups, + exampleApplication: { + prometheusRuleExample: { + apiVersion: 'monitoring.coreos.com/v1', + kind: 'PrometheusRule', + metadata: { + name: 'my-prometheus-rule', + namespace: $.values.common.namespace, + }, + spec: { + groups: (import 'existingrule.json').groups, }, }, }, @@ -20,4 +26,5 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + { ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + -{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } +{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } + +{ ['example-application-' + name]: kp.exampleApplication[name] for name in std.objectFields(kp.exampleApplication) } -- GitLab