1 {{- if .Values.prometheus.enabled }}
2 apiVersion: {{ printf "%s/v1" (.Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com") }}
5 name: {{ template "prometheus-operator.fullname" . }}-prometheus
7 app: {{ template "prometheus-operator.name" . }}-prometheus
8 {{ include "prometheus-operator.labels" . | indent 4 }}
12 {{- if .Values.prometheus.prometheusSpec.alertingEndpoints }}
13 {{ toYaml .Values.prometheus.prometheusSpec.alertingEndpoints | indent 6 }}
15 - namespace: {{ .Release.Namespace }}
16 name: {{ template "prometheus-operator.fullname" . }}-alertmanager
18 {{- if .Values.alertmanager.alertmanagerSpec.routePrefix }}
19 pathPrefix: "{{ .Values.alertmanager.alertmanagerSpec.routePrefix }}"
22 {{- if .Values.prometheus.prometheusSpec.image }}
23 baseImage: {{ .Values.prometheus.prometheusSpec.image.repository }}
24 version: {{ .Values.prometheus.prometheusSpec.image.tag }}
26 {{- if .Values.prometheus.prometheusSpec.externalLabels }}
28 {{ toYaml .Values.prometheus.prometheusSpec.externalLabels | indent 4}}
30 {{- if .Values.prometheus.prometheusSpec.externalUrl }}
31 externalUrl: "{{ .Values.prometheus.prometheusSpec.externalUrl }}"
32 {{- else if .Values.prometheus.ingress.enabled }}
33 externalUrl: "http://{{ index .Values.prometheus.ingress.hosts 0 }}{{ .Values.prometheus.prometheusSpec.routePrefix }}"
35 externalUrl: http://{{ template "prometheus-operator.fullname" . }}-prometheus.{{ .Release.Namespace }}:9090
37 {{- if .Values.prometheus.prometheusSpec.nodeSelector }}
39 {{ toYaml .Values.prometheus.prometheusSpec.nodeSelector | indent 4 }}
41 paused: {{ .Values.prometheus.prometheusSpec.paused }}
42 replicas: {{ .Values.prometheus.prometheusSpec.replicas }}
43 logLevel: {{ .Values.prometheus.prometheusSpec.logLevel }}
44 listenLocal: {{ .Values.prometheus.prometheusSpec.listenLocal }}
45 {{- if .Values.prometheus.prometheusSpec.scrapeInterval }}
46 scrapeInterval: {{ .Values.prometheus.prometheusSpec.scrapeInterval }}
48 {{- if .Values.prometheus.prometheusSpec.evaluationInterval }}
49 evaluationInterval: {{ .Values.prometheus.prometheusSpec.evaluationInterval }}
51 {{- if .Values.prometheus.prometheusSpec.resources }}
53 {{ toYaml .Values.prometheus.prometheusSpec.resources | indent 4 }}
55 retention: {{ .Values.prometheus.prometheusSpec.retention | quote }}
56 {{- if .Values.prometheus.prometheusSpec.routePrefix }}
57 routePrefix: {{ .Values.prometheus.prometheusSpec.routePrefix | quote }}
59 {{- if .Values.prometheus.prometheusSpec.secrets }}
61 {{ toYaml .Values.prometheus.prometheusSpec.secrets | indent 4 }}
63 {{- if .Values.prometheus.prometheusSpec.configMaps }}
65 {{ toYaml .Values.prometheus.prometheusSpec.configMaps | indent 4 }}
67 serviceAccountName: {{ template "prometheus-operator.prometheus.serviceAccountName" . }}
68 {{- if .Values.prometheus.prometheusSpec.serviceMonitorSelector }}
69 serviceMonitorSelector:
70 {{ toYaml .Values.prometheus.prometheusSpec.serviceMonitorSelector | indent 4 }}
71 {{ else if .Values.prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues }}
72 serviceMonitorSelector:
74 release: {{ .Release.Name | quote }}
76 serviceMonitorSelector: {}
78 {{- if .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector }}
79 serviceMonitorNamespaceSelector:
80 {{ toYaml .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector | indent 4 }}
82 serviceMonitorNamespaceSelector: {}
84 {{- if .Values.prometheus.prometheusSpec.remoteRead }}
86 {{ toYaml .Values.prometheus.prometheusSpec.remoteRead | indent 4 }}
88 {{- if .Values.prometheus.prometheusSpec.remoteWrite }}
90 {{ toYaml .Values.prometheus.prometheusSpec.remoteWrite | indent 4 }}
92 {{- if .Values.prometheus.prometheusSpec.securityContext }}
94 {{ toYaml .Values.prometheus.prometheusSpec.securityContext | indent 4 }}
97 {{- if .Values.prometheus.prometheusSpec.ruleNamespaceSelector }}
98 ruleNamespaceSelector:
99 {{ toYaml .Values.prometheus.prometheusSpec.ruleNamespaceSelector | indent 4 }}
101 {{- if .Values.prometheus.prometheusSpec.ruleSelector }}
103 {{ toYaml .Values.prometheus.prometheusSpec.ruleSelector | indent 4}}
104 {{- else if .Values.prometheus.prometheusSpec.ruleSelectorNilUsesHelmValues }}
107 app: {{ template "prometheus-operator.name" . }}
108 release: {{ .Release.Name | quote }}
110 {{- if .Values.prometheus.prometheusSpec.storageSpec }}
112 {{ toYaml .Values.prometheus.prometheusSpec.storageSpec | indent 4 }}
114 {{- if .Values.prometheus.prometheusSpec.podMetadata }}
116 {{ toYaml .Values.prometheus.prometheusSpec.podMetadata | indent 4 }}
118 {{- if eq .Values.prometheus.prometheusSpec.podAntiAffinity "hard" }}
121 requiredDuringSchedulingIgnoredDuringExecution:
122 - topologyKey: kubernetes.io/hostname
126 prometheus: {{ template "prometheus-operator.fullname" . }}-prometheus
127 {{- else if eq .Values.prometheus.prometheusSpec.podAntiAffinity "soft" }}
130 preferredDuringSchedulingIgnoredDuringExecution:
133 topologyKey: kubernetes.io/hostname
137 prometheus: {{ template "prometheus-operator.fullname" . }}-prometheus
139 {{- if .Values.prometheus.prometheusSpec.tolerations }}
141 {{ toYaml .Values.prometheus.prometheusSpec.tolerations | indent 4 }}
143 {{- if .Values.global.imagePullSecrets }}
145 {{ toYaml .Values.global.imagePullSecrets | indent 4 }}
147 {{- if or .Values.prometheus.prometheusSpec.additionalScrapeConfigs .Values.prometheus.prometheusSpec.additionalScrapeConfigsExternal }}
148 additionalScrapeConfigs:
149 name: {{ template "prometheus-operator.fullname" . }}-prometheus-scrape-confg
150 key: additional-scrape-configs.yaml
152 {{- if .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs }}
153 additionalAlertManagerConfigs:
154 name: {{ template "prometheus-operator.fullname" . }}-prometheus-am-confg
155 key: additional-alertmanager-configs.yaml
157 {{- if .Values.prometheus.prometheusSpec.additionalAlertRelabelConfigs }}
158 additionalAlertRelabelConfigs:
159 name: {{ template "prometheus-operator.fullname" . }}-prometheus-am-relabel-confg
160 key: additional-alert-relabel-configs.yaml
162 {{- if .Values.prometheus.prometheusSpec.containers }}
164 {{ toYaml .Values.prometheus.prometheusSpec.containers | indent 4 }}
166 {{- if .Values.prometheus.prometheusSpec.priorityClassName }}
167 priorityClassName: {{ .Values.prometheus.prometheusSpec.priorityClassName }}
169 {{- if .Values.prometheus.prometheusSpec.thanos }}
171 {{ toYaml .Values.prometheus.prometheusSpec.thanos | indent 4 }}