509142e2be5e43b60db03ee42a4526d2dab3bd60
[demo.git] / vnfs / DAaaS / prometheus-operator / templates / prometheus / prometheus.yaml
1 {{- if .Values.prometheus.enabled }}
2 apiVersion: {{ printf "%s/v1" (.Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com") }}
3 kind: Prometheus
4 metadata:
5   name: {{ template "prometheus-operator.fullname" . }}-prometheus
6   labels:
7     app: {{ template "prometheus-operator.name" . }}-prometheus
8 {{ include "prometheus-operator.labels" . | indent 4 }}
9 spec:
10   alerting:
11     alertmanagers:
12 {{- if .Values.prometheus.prometheusSpec.alertingEndpoints }}
13 {{ toYaml .Values.prometheus.prometheusSpec.alertingEndpoints | indent 6 }}
14 {{- else }}
15       - namespace: {{ .Release.Namespace }}
16         name: {{ template "prometheus-operator.fullname" . }}-alertmanager
17         port: web
18         {{- if .Values.alertmanager.alertmanagerSpec.routePrefix }}
19         pathPrefix: "{{ .Values.alertmanager.alertmanagerSpec.routePrefix }}"
20         {{- end }}
21 {{- end }}
22 {{- if .Values.prometheus.prometheusSpec.image }}
23   baseImage: {{ .Values.prometheus.prometheusSpec.image.repository }}
24   version: {{ .Values.prometheus.prometheusSpec.image.tag }}
25 {{- end }}
26 {{- if .Values.prometheus.prometheusSpec.externalLabels }}
27   externalLabels:
28 {{ toYaml .Values.prometheus.prometheusSpec.externalLabels | indent 4}}
29 {{- end }}
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 }}"
34 {{- else }}
35   externalUrl: http://{{ template "prometheus-operator.fullname" . }}-prometheus.{{ .Release.Namespace }}:9090
36 {{- end }}
37 {{- if .Values.prometheus.prometheusSpec.nodeSelector }}
38   nodeSelector:
39 {{ toYaml .Values.prometheus.prometheusSpec.nodeSelector | indent 4 }}
40 {{- end }}
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 }}
47 {{- end }}
48 {{- if .Values.prometheus.prometheusSpec.evaluationInterval }}
49   evaluationInterval: {{ .Values.prometheus.prometheusSpec.evaluationInterval }}
50 {{- end }}
51 {{- if .Values.prometheus.prometheusSpec.resources }}
52   resources:
53 {{ toYaml .Values.prometheus.prometheusSpec.resources | indent 4 }}
54 {{- end }}
55   retention: {{ .Values.prometheus.prometheusSpec.retention | quote  }}
56 {{- if .Values.prometheus.prometheusSpec.routePrefix }}
57   routePrefix: {{ .Values.prometheus.prometheusSpec.routePrefix | quote  }}
58 {{- end }}
59 {{- if .Values.prometheus.prometheusSpec.secrets }}
60   secrets:
61 {{ toYaml .Values.prometheus.prometheusSpec.secrets | indent 4 }}
62 {{- end }}
63 {{- if .Values.prometheus.prometheusSpec.configMaps }}
64   configMaps:
65 {{ toYaml .Values.prometheus.prometheusSpec.configMaps | indent 4 }}
66 {{- end }}
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:
73     matchLabels:
74       release: {{ .Release.Name | quote }}
75 {{ else }}
76   serviceMonitorSelector: {}
77 {{- end }}
78 {{- if .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector }}
79   serviceMonitorNamespaceSelector:
80 {{ toYaml .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector | indent 4 }}
81 {{ else }}
82   serviceMonitorNamespaceSelector: {}
83 {{- end }}
84 {{- if .Values.prometheus.prometheusSpec.remoteRead }}
85   remoteRead:
86 {{ toYaml .Values.prometheus.prometheusSpec.remoteRead | indent 4 }}
87 {{- end }}
88 {{- if .Values.prometheus.prometheusSpec.remoteWrite }}
89   remoteWrite:
90 {{ toYaml .Values.prometheus.prometheusSpec.remoteWrite | indent 4 }}
91 {{- end }}
92 {{- if .Values.prometheus.prometheusSpec.securityContext }}
93   securityContext:
94 {{ toYaml .Values.prometheus.prometheusSpec.securityContext | indent 4 }}
95 {{- end }}
96
97 {{- if .Values.prometheus.prometheusSpec.ruleNamespaceSelector }}
98   ruleNamespaceSelector:
99 {{ toYaml .Values.prometheus.prometheusSpec.ruleNamespaceSelector | indent 4 }}
100 {{- end }}
101 {{- if .Values.prometheus.prometheusSpec.ruleSelector }}
102   ruleSelector:
103 {{ toYaml .Values.prometheus.prometheusSpec.ruleSelector | indent 4}}
104 {{- else if .Values.prometheus.prometheusSpec.ruleSelectorNilUsesHelmValues }}
105   ruleSelector:    
106     matchLabels:
107       app: {{ template "prometheus-operator.name" . }}
108       release: {{ .Release.Name | quote }}
109   {{- end }}
110 {{- if .Values.prometheus.prometheusSpec.storageSpec }}
111   storage:
112 {{ toYaml .Values.prometheus.prometheusSpec.storageSpec | indent 4 }}
113 {{- end }}
114   {{- if .Values.prometheus.prometheusSpec.podMetadata }}
115   podMetadata:
116 {{ toYaml .Values.prometheus.prometheusSpec.podMetadata | indent 4 }}
117   {{- end }}
118 {{- if eq .Values.prometheus.prometheusSpec.podAntiAffinity "hard" }}
119   affinity:
120     podAntiAffinity:
121       requiredDuringSchedulingIgnoredDuringExecution:
122       - topologyKey: kubernetes.io/hostname
123         labelSelector:
124           matchLabels:
125             app: prometheus
126             prometheus: {{ template "prometheus-operator.fullname" . }}-prometheus
127 {{- else if eq .Values.prometheus.prometheusSpec.podAntiAffinity "soft" }}
128   affinity:
129     podAntiAffinity:
130       preferredDuringSchedulingIgnoredDuringExecution:
131       - weight: 100
132         podAffinityTerm:
133           topologyKey: kubernetes.io/hostname
134           labelSelector:
135             matchLabels:
136               app: prometheus
137               prometheus: {{ template "prometheus-operator.fullname" . }}-prometheus
138 {{- end }}
139 {{- if .Values.prometheus.prometheusSpec.tolerations }}
140   tolerations:
141 {{ toYaml .Values.prometheus.prometheusSpec.tolerations | indent 4 }}
142 {{- end }}
143 {{- if .Values.global.imagePullSecrets }}
144   imagePullSecrets:
145 {{ toYaml .Values.global.imagePullSecrets | indent 4 }}
146 {{- end }}
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
151 {{- end }}
152 {{- if .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs }}
153   additionalAlertManagerConfigs:
154     name: {{ template "prometheus-operator.fullname" . }}-prometheus-am-confg
155     key: additional-alertmanager-configs.yaml
156 {{- end }}
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
161 {{- end }}
162 {{- if .Values.prometheus.prometheusSpec.containers }}
163   containers:
164 {{ toYaml .Values.prometheus.prometheusSpec.containers | indent 4 }}
165 {{- end }}
166 {{- if .Values.prometheus.prometheusSpec.priorityClassName }}
167   priorityClassName: {{ .Values.prometheus.prometheusSpec.priorityClassName }}
168 {{- end }}
169 {{- if .Values.prometheus.prometheusSpec.thanos }}
170   thanos:
171 {{ toYaml .Values.prometheus.prometheusSpec.thanos | indent 4 }}
172 {{- end }}
173 {{- end }}