examples: adapt examples to stop modifying prometheus object when it is not needed

This commit is contained in:
paulfantom 2021-02-22 16:38:19 +01:00
parent 5d06e286ca
commit bf9a917cfa
No known key found for this signature in database
GPG Key ID: 12AE0185401674E7
9 changed files with 46 additions and 24 deletions

View File

@ -7,7 +7,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
namespaces+: ['my-namespace', 'my-second-namespace'], namespaces+: ['my-namespace', 'my-second-namespace'],
}, },
}, },
prometheus+: { exampleApplication: {
serviceMonitorMyNamespace: { serviceMonitorMyNamespace: {
apiVersion: 'monitoring.coreos.com/v1', apiVersion: 'monitoring.coreos.com/v1',
kind: 'ServiceMonitor', 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) } + { ['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) } + { ['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-' + 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) }

View File

@ -4,7 +4,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
namespace: 'monitoring', namespace: 'monitoring',
}, },
prometheus+:: { prometheus+: {
namespaces+: ['my-namespace', 'my-second-namespace'], namespaces+: ['my-namespace', 'my-second-namespace'],
}, },
}, },

View File

@ -1,5 +1,5 @@
((import 'kube-prometheus/main.libsonnet') + { ((import 'kube-prometheus/main.libsonnet') + {
_config+:: { values+:: {
alertmanager+: { alertmanager+: {
config: importstr 'alertmanager-config.yaml', config: importstr 'alertmanager-config.yaml',
}, },

View File

@ -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 // 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). // 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'], ips: ['127.0.0.1'],

View File

@ -26,7 +26,7 @@ local manifests =
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + { ['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) } + { ['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) } +
{ ['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 kustomizationResourceFile(name) = './manifests/' + name + '.yaml';
local kustomization = { local kustomization = {

View File

@ -8,10 +8,10 @@ local kp =
common+: { common+: {
namespace: 'monitoring', namespace: 'monitoring',
}, },
alertmanager+:: { alertmanager+: {
config: importstr 'alertmanager-config.yaml', config: importstr 'alertmanager-config.yaml',
}, },
grafana+:: { grafana+: {
config: { // http://docs.grafana.org/installation/configuration/ config: { // http://docs.grafana.org/installation/configuration/
sections: { sections: {
// Do not require grafana users to login/authenticate // Do not require grafana users to login/authenticate
@ -40,7 +40,7 @@ local kp =
}, },
}, },
}, },
alertmanager+:: { alertmanager+: {
alertmanager+: { alertmanager+: {
// Reference info: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec // Reference info: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec
spec+: { spec+: {

View File

@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
namespace: 'monitoring', namespace: 'monitoring',
}, },
}, },
prometheus+: { exampleApplication: {
prometheusRule+: { prometheusRuleExample: {
spec+: { apiVersion: 'monitoring.coreos.com/v1',
groups+: [ kind: 'PrometheusRule',
metadata: {
name: 'my-prometheus-rule',
namespace: $.values.common.namespace,
},
spec: {
groups: [
{ {
name: 'example-group', name: 'example-group',
rules: [ rules: [
@ -36,4 +42,5 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['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-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + { ['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) }

View File

@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
namespace: 'monitoring', namespace: 'monitoring',
}, },
}, },
prometheus+: { exampleApplication: {
prometheusRule+: { prometheusRuleExample: {
spec+: { apiVersion: 'monitoring.coreos.com/v1',
groups+: [ kind: 'PrometheusRule',
metadata: {
name: 'my-prometheus-rule',
namespace: $.values.common.namespace,
},
spec: {
groups: [
{ {
name: 'example-group', name: 'example-group',
rules: [ rules: [
@ -30,4 +36,5 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['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-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + { ['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) }

View File

@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
namespace: 'monitoring', namespace: 'monitoring',
}, },
}, },
prometheus+: { exampleApplication: {
prometheusRule+: { prometheusRuleExample: {
spec+: { apiVersion: 'monitoring.coreos.com/v1',
groups+: (import 'existingrule.json').groups, 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) } + { ['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-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + { ['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) }