1 {{- if .Values.prometheus.enabled -}}
2 #######################################################################################
3 # Copyright ETSI Contributors and Others.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #######################################################################################
23 {{- include "osm.labels" . | nindent 4 }}
25 replicas: {{ .Values.prometheus.replicaCount | default .Values.global.replicaCount }}
26 serviceName: prometheus
29 app.kubernetes.io/component: prometheus
30 {{- include "osm.selectorLabels" . | nindent 6 }}
33 {{- with .Values.global.podAnnotations }}
35 {{- toYaml . | nindent 8 }}
38 app.kubernetes.io/component: prometheus
39 {{- include "osm.selectorLabels" . | nindent 8 }}
41 {{- with .Values.global.imagePullSecrets }}
43 {{- toYaml . | nindent 8 }}
45 serviceAccountName: {{ include "osm.serviceAccountName" . }}
47 - name: prometheus-init-config
49 command: ["/bin/sh", "-c"]
50 {{- if .Values.global.oldServiceAssurance }}
51 args: ['if [ ! -f "/etc/prometheus/prometheus.yml" ]; then cp /config/prometheus.yml /etc/prometheus; fi']
53 args: ['if [ ! -f "/etc/prometheus/prometheus.yml" ]; then cp /config/prometheus.yml /etc/prometheus; fi; cp /config/osm_metric_rules.yml /config/osm_alert_rules.yml /etc/prometheus']
57 mountPath: /etc/prometheus
58 - name: prom-config-base
63 # readOnlyRootFilesystem: true
64 allowPrivilegeEscalation: false
66 image: prom/prometheus:v2.47.0
67 imagePullPolicy: {{ .Values.global.image.pullPolicy }}
69 - --config.file=/etc/prometheus/prometheus.yml
70 - --web.enable-lifecycle
76 mountPath: /etc/prometheus
78 mountPath: /prometheus
84 - name: prometheus-config-sidecar
86 # readOnlyRootFilesystem: true
87 allowPrivilegeEscalation: false
89 image: {{ include "osm.prometheus.image" . }}
90 imagePullPolicy: {{ .Values.global.image.pullPolicy }}
93 mountPath: /etc/prometheus
94 - name: prom-config-base
95 mountPath: /etc/prometheus_base
103 name: {{ include "osm.fullname" . }}-prometheus-configmap
104 {{- with .Values.global.nodeSelector }}
106 {{- toYaml . | nindent 8 }}
108 {{- with .Values.global.affinity }}
110 {{- toYaml . | nindent 8 }}
112 {{- with .Values.global.tolerations }}
114 {{- toYaml . | nindent 8 }}
121 - name: prom-config-base
125 name: {{ include "osm.fullname" . }}-prometheus-prom-configmap
127 - key: prometheus.yml
129 {{- if not .Values.global.oldServiceAssurance }}
131 name: {{ include "osm.fullname" . }}-prometheus-recordingrules-configmap
133 - key: osm_metric_rules.yml
134 path: osm_metric_rules.yml
136 name: {{ include "osm.fullname" . }}-prometheus-alertingrules-configmap
138 - key: osm_alert_rules.yml
139 path: osm_alert_rules.yml