Skip to content
Snippets Groups Projects
Unverified Commit bf9a917c authored by paulfantom's avatar paulfantom
Browse files

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

parent 5d06e286
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { ...@@ -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') + { ...@@ -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) }
...@@ -4,7 +4,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { ...@@ -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'],
}, },
}, },
......
((import 'kube-prometheus/main.libsonnet') + { ((import 'kube-prometheus/main.libsonnet') + {
_config+:: { values+:: {
alertmanager+: { alertmanager+: {
config: importstr 'alertmanager-config.yaml', config: importstr 'alertmanager-config.yaml',
}, },
......
...@@ -6,7 +6,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + ...@@ -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'],
......
...@@ -26,7 +26,7 @@ local manifests = ...@@ -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 = {
......
...@@ -8,10 +8,10 @@ local kp = ...@@ -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 = ...@@ -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+: {
......
...@@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { ...@@ -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') + { ...@@ -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) }
...@@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { ...@@ -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') + { ...@@ -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) }
...@@ -4,10 +4,16 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { ...@@ -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') + { ...@@ -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) }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment