1 {{- if and .Values.prometheus.enabled .Values.prometheus.startup -}}
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 }}
96 {{- if .Values.prometheus.prometheusSpec.ruleNamespaceSelector }}
97 ruleNamespaceSelector:
98 {{ toYaml .Values.prometheus.prometheusSpec.ruleNamespaceSelector | indent 4 }}
100 ruleNamespaceSelector: {}
102 {{- if .Values.prometheus.prometheusSpec.ruleSelector }}
104 {{ toYaml .Values.prometheus.prometheusSpec.ruleSelector | indent 4}}
105 {{- else if .Values.prometheus.prometheusSpec.ruleSelectorNilUsesHelmValues }}
108 app: {{ template "prometheus-operator.name" . }}
109 release: {{ .Release.Name | quote }}
113 {{- if .Values.prometheus.prometheusSpec.storageSpec }}
115 {{ toYaml .Values.prometheus.prometheusSpec.storageSpec | indent 4 }}
117 {{- if .Values.prometheus.prometheusSpec.podMetadata }}
119 {{ toYaml .Values.prometheus.prometheusSpec.podMetadata | indent 4 }}
121 {{- if eq .Values.prometheus.prometheusSpec.podAntiAffinity "hard" }}
124 requiredDuringSchedulingIgnoredDuringExecution:
125 - topologyKey: {{ .Values.prometheus.prometheusSpec.podAntiAffinityTopologyKey }}
129 prometheus: {{ template "prometheus-operator.fullname" . }}-prometheus
130 {{- else if eq .Values.prometheus.prometheusSpec.podAntiAffinity "soft" }}
133 preferredDuringSchedulingIgnoredDuringExecution:
136 topologyKey: {{ .Values.prometheus.prometheusSpec.podAntiAffinityTopologyKey }}
140 prometheus: {{ template "prometheus-operator.fullname" . }}-prometheus
142 {{- if .Values.prometheus.prometheusSpec.tolerations }}
144 {{ toYaml .Values.prometheus.prometheusSpec.tolerations | indent 4 }}
146 {{- if .Values.global.imagePullSecrets }}
148 {{ toYaml .Values.global.imagePullSecrets | indent 4 }}
150 {{- if or .Values.prometheus.prometheusSpec.additionalScrapeConfigs .Values.prometheus.prometheusSpec.additionalScrapeConfigsExternal }}
151 additionalScrapeConfigs:
152 name: {{ template "prometheus-operator.fullname" . }}-prometheus-scrape-confg
153 key: additional-scrape-configs.yaml
155 {{- if .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs }}
156 additionalAlertManagerConfigs:
157 name: {{ template "prometheus-operator.fullname" . }}-prometheus-am-confg
158 key: additional-alertmanager-configs.yaml
160 {{- if .Values.prometheus.prometheusSpec.additionalAlertRelabelConfigs }}
161 additionalAlertRelabelConfigs:
162 name: {{ template "prometheus-operator.fullname" . }}-prometheus-am-relabel-confg
163 key: additional-alert-relabel-configs.yaml
165 {{- if .Values.prometheus.prometheusSpec.containers }}
167 {{ toYaml .Values.prometheus.prometheusSpec.containers | indent 4 }}
169 {{- if .Values.prometheus.prometheusSpec.priorityClassName }}
170 priorityClassName: {{ .Values.prometheus.prometheusSpec.priorityClassName }}
172 {{- if .Values.prometheus.prometheusSpec.thanos }}
174 {{ toYaml .Values.prometheus.prometheusSpec.thanos | indent 4 }}