Collectd operator utilties
[demo.git] / vnfs / DAaaS / operator / charts / prometheus-operator / templates / prometheus / prometheus.yaml
1 {{- if and .Values.prometheus.enabled .Values.prometheus.startup -}}
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 {{- if .Values.prometheus.prometheusSpec.ruleNamespaceSelector }}
97   ruleNamespaceSelector:
98 {{ toYaml .Values.prometheus.prometheusSpec.ruleNamespaceSelector | indent 4 }}
99 {{ else }}
100   ruleNamespaceSelector: {}
101 {{- end }}
102 {{- if .Values.prometheus.prometheusSpec.ruleSelector }}
103   ruleSelector:
104 {{ toYaml .Values.prometheus.prometheusSpec.ruleSelector | indent 4}}
105 {{- else if .Values.prometheus.prometheusSpec.ruleSelectorNilUsesHelmValues }}
106   ruleSelector:    
107     matchLabels:
108       app: {{ template "prometheus-operator.name" . }}
109       release: {{ .Release.Name | quote }}
110 {{ else }}
111   ruleSelector: {}
112 {{- end }}
113 {{- if .Values.prometheus.prometheusSpec.storageSpec }}
114   storage:
115 {{ toYaml .Values.prometheus.prometheusSpec.storageSpec | indent 4 }}
116 {{- end }}
117   {{- if .Values.prometheus.prometheusSpec.podMetadata }}
118   podMetadata:
119 {{ toYaml .Values.prometheus.prometheusSpec.podMetadata | indent 4 }}
120   {{- end }}
121 {{- if eq .Values.prometheus.prometheusSpec.podAntiAffinity "hard" }}
122   affinity:
123     podAntiAffinity:
124       requiredDuringSchedulingIgnoredDuringExecution:
125       - topologyKey: {{ .Values.prometheus.prometheusSpec.podAntiAffinityTopologyKey }}
126         labelSelector:
127           matchLabels:
128             app: prometheus
129             prometheus: {{ template "prometheus-operator.fullname" . }}-prometheus
130 {{- else if eq .Values.prometheus.prometheusSpec.podAntiAffinity "soft" }}
131   affinity:
132     podAntiAffinity:
133       preferredDuringSchedulingIgnoredDuringExecution:
134       - weight: 100
135         podAffinityTerm:
136           topologyKey: {{ .Values.prometheus.prometheusSpec.podAntiAffinityTopologyKey }}
137           labelSelector:
138             matchLabels:
139               app: prometheus
140               prometheus: {{ template "prometheus-operator.fullname" . }}-prometheus
141 {{- end }}
142 {{- if .Values.prometheus.prometheusSpec.tolerations }}
143   tolerations:
144 {{ toYaml .Values.prometheus.prometheusSpec.tolerations | indent 4 }}
145 {{- end }}
146 {{- if .Values.global.imagePullSecrets }}
147   imagePullSecrets:
148 {{ toYaml .Values.global.imagePullSecrets | indent 4 }}
149 {{- end }}
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
154 {{- end }}
155 {{- if .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs }}
156   additionalAlertManagerConfigs:
157     name: {{ template "prometheus-operator.fullname" . }}-prometheus-am-confg
158     key: additional-alertmanager-configs.yaml
159 {{- end }}
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
164 {{- end }}
165 {{- if .Values.prometheus.prometheusSpec.containers }}
166   containers:
167 {{ toYaml .Values.prometheus.prometheusSpec.containers | indent 4 }}
168 {{- end }}
169 {{- if .Values.prometheus.prometheusSpec.priorityClassName }}
170   priorityClassName: {{ .Values.prometheus.prometheusSpec.priorityClassName }}
171 {{- end }}
172 {{- if .Values.prometheus.prometheusSpec.thanos }}
173   thanos:
174 {{ toYaml .Values.prometheus.prometheusSpec.thanos | indent 4 }}
175 {{- end }}
176 {{- end }}