Add support for prometheus
[ric-plt/ric-dep.git] / helm / infrastructure / subcharts / prometheus / templates / server-configmap.yaml
1 {{- if .Values.server.enabled -}}
2 {{- if (empty .Values.server.configMapOverrideName) -}}
3 apiVersion: v1
4 kind: ConfigMap
5 metadata:
6   labels:
7     {{- include "prometheus.server.labels" . | nindent 4 }}
8   name: {{ template "prometheus.server.fullname" . }}
9 {{ include "prometheus.namespace" . | indent 2 }}
10 data:
11 {{- $root := . -}}
12 {{- range $key, $value := .Values.serverFiles }}
13   {{ $key }}: |
14 {{- if eq $key "prometheus.yml" }}
15     global:
16 {{ $root.Values.server.global | toYaml | trimSuffix "\n" | indent 6 }}
17 {{- if $root.Values.server.remoteWrite }}
18     remote_write:
19 {{ $root.Values.server.remoteWrite | toYaml | indent 4 }}
20 {{- end }}
21 {{- if $root.Values.server.remoteRead }}
22     remote_read:
23 {{ $root.Values.server.remoteRead | toYaml | indent 4 }}
24 {{- end }}
25 {{- end }}
26 {{- if eq $key "alerts" }}
27 {{- if and (not (empty $value)) (empty $value.groups) }}
28     groups:
29 {{- range $ruleKey, $ruleValue := $value }}
30     - name: {{ $ruleKey -}}.rules
31       rules:
32 {{ $ruleValue | toYaml | trimSuffix "\n" | indent 6 }}
33 {{- end }}
34 {{- else }}
35 {{ toYaml $value | indent 4 }}
36 {{- end }}
37 {{- else }}
38 {{ toYaml $value | default "{}" | indent 4 }}
39 {{- end }}
40 {{- if eq $key "prometheus.yml" -}}
41 {{- if $root.Values.extraScrapeConfigs }}
42 {{ tpl $root.Values.extraScrapeConfigs $root | indent 4 }}
43 {{- end -}}
44 {{- if or ($root.Values.alertmanager.enabled) ($root.Values.server.alertmanagers) }}
45     alerting:
46 {{- if $root.Values.alertRelabelConfigs }}
47 {{ $root.Values.alertRelabelConfigs | toYaml  | trimSuffix "\n" | indent 6 }}
48 {{- end }}
49       alertmanagers:
50 {{- if $root.Values.server.alertmanagers }}
51 {{ toYaml $root.Values.server.alertmanagers | indent 8 }}
52 {{- else }}
53       - kubernetes_sd_configs:
54           - role: pod
55         tls_config:
56           ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
57         bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
58         {{- if $root.Values.alertmanager.prefixURL }}
59         path_prefix: {{ $root.Values.alertmanager.prefixURL }}
60         {{- end }}
61         relabel_configs:
62         - source_labels: [__meta_kubernetes_namespace]
63           regex: {{ $root.Release.Namespace }}
64           action: keep
65         - source_labels: [__meta_kubernetes_pod_label_app]
66           regex: {{ template "prometheus.name" $root }}
67           action: keep
68         - source_labels: [__meta_kubernetes_pod_label_component]
69           regex: alertmanager
70           action: keep
71         - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_probe]
72           regex: {{ index $root.Values.alertmanager.podAnnotations "prometheus.io/probe" | default ".*" }}
73           action: keep
74         - source_labels: [__meta_kubernetes_pod_container_port_number]
75           regex:
76           action: drop
77 {{- end -}}
78 {{- end -}}
79 {{- end -}}
80 {{- end -}}
81 {{- end -}}
82 {{- end -}}