From dbc64a0300aa0d1180c24bda4f5966c609be5683 Mon Sep 17 00:00:00 2001 From: paulfantom <pawel@krupa.net.pl> Date: Thu, 4 Nov 2021 12:39:53 +0100 Subject: [PATCH] jsonnet: do not hide alerting configuration Signed-off-by: paulfantom <pawel@krupa.net.pl> --- .../kube-prometheus/components/prometheus.libsonnet | 12 ++++++------ jsonnet/kube-prometheus/main.libsonnet | 9 ++++++++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/jsonnet/kube-prometheus/components/prometheus.libsonnet b/jsonnet/kube-prometheus/components/prometheus.libsonnet index 701537d1..321ddbcf 100644 --- a/jsonnet/kube-prometheus/components/prometheus.libsonnet +++ b/jsonnet/kube-prometheus/components/prometheus.libsonnet @@ -2,20 +2,21 @@ local defaults = { local defaults = self, // Convention: Top-level fields related to CRDs are public, other fields are hidden // If there is no CRD for the component, everything is hidden in defaults. + name:: error 'must provide name', namespace:: error 'must provide namespace', version: error 'must provide version', image: error 'must provide image', resources: { requests: { memory: '400Mi' }, }, - - name:: error 'must provide name', - //TODO: remove alertmanagerName and convert to plain 'alerting' object - alertmanagerName:: error 'must provide alertmanagerName', + //TODO(paulfantom): remove alertmanagerName after release-0.10 and convert to plain 'alerting' object. + alertmanagerName:: '', + alerting: {}, namespaces:: ['default', 'kube-system', defaults.namespace], replicas: 2, externalLabels: {}, enableFeatures: [], + ruleSelector: {}, commonLabels:: { 'app.kubernetes.io/name': 'prometheus', 'app.kubernetes.io/version': defaults.version, @@ -27,7 +28,6 @@ local defaults = { for labelName in std.objectFields(defaults.commonLabels) if !std.setMember(labelName, ['app.kubernetes.io/version']) } + { prometheus: defaults.name }, - ruleSelector: {}, mixin:: { ruleLabels: {}, _config: { @@ -273,7 +273,7 @@ function(params) { serviceMonitorNamespaceSelector: {}, nodeSelector: { 'kubernetes.io/os': 'linux' }, resources: p._config.resources, - alerting: { + alerting: if p._config.alerting != {} then p._config.alerting else { alertmanagers: [{ namespace: p._config.namespace, name: 'alertmanager-' + p._config.alertmanagerName, diff --git a/jsonnet/kube-prometheus/main.libsonnet b/jsonnet/kube-prometheus/main.libsonnet index 659be665..9dc5a334 100644 --- a/jsonnet/kube-prometheus/main.libsonnet +++ b/jsonnet/kube-prometheus/main.libsonnet @@ -91,7 +91,14 @@ local utils = import './lib/utils.libsonnet'; version: $.values.common.versions.prometheus, image: $.values.common.images.prometheus, name: 'k8s', - alertmanagerName: $.values.alertmanager.name, + alerting: { + alertmanagers: [{ + namespace: $.values.common.namespace, + name: 'alertmanager-' + $.values.alertmanager.name, + port: $.alertmanager.service.spec.ports[0].name, + apiVersion: 'v2', + }], + }, mixin+: { ruleLabels: $.values.common.ruleLabels }, }, prometheusAdapter: { -- GitLab