blob: 76f358f000e84ea92cb624d489c31b11888c61ee [file] [log] [blame]
gioc895c1d2026-07-23 17:18:25 +04001{{- if and .Values.prometheus.enabled (and .Values.prometheus.podmonitor.enabled .Values.prometheus.servicemonitor.enabled) }}
2{{- fail "Either .Values.prometheus.podmonitor.enabled or .Values.prometheus.servicemonitor.enabled can be enabled at a time, but not both." }}
3{{- else if and .Values.prometheus.enabled .Values.prometheus.servicemonitor.enabled }}
4apiVersion: monitoring.coreos.com/v1
5kind: ServiceMonitor
6metadata:
7 name: {{ template "cert-manager.fullname" . }}
8{{- if .Values.prometheus.servicemonitor.namespace }}
9 namespace: {{ .Values.prometheus.servicemonitor.namespace }}
10{{- else }}
11 namespace: {{ include "cert-manager.namespace" . }}
12{{- end }}
13 labels:
14 app: {{ include "cert-manager.name" . }}
15 app.kubernetes.io/name: {{ include "cert-manager.name" . }}
16 app.kubernetes.io/instance: {{ .Release.Name }}
17 app.kubernetes.io/component: "controller"
18 {{- include "labels" . | nindent 4 }}
19 {{- if .Values.prometheus.servicemonitor.prometheusInstance }}
20 prometheus: {{ .Values.prometheus.servicemonitor.prometheusInstance }}
21 {{- end }}
22 {{- with .Values.prometheus.servicemonitor.labels }}
23 {{- toYaml . | nindent 4 }}
24 {{- end }}
25{{- if .Values.prometheus.servicemonitor.annotations }}
26 annotations:
27 {{- with .Values.prometheus.servicemonitor.annotations }}
28 {{- toYaml . | nindent 4 }}
29 {{- end }}
30{{- end }}
31spec:
32 jobLabel: app.kubernetes.io/name
33 selector:
34 matchExpressions:
35 - key: app.kubernetes.io/name
36 operator: In
37 values:
38 - {{ include "cainjector.name" . }}
39 - {{ template "cert-manager.name" . }}
40 - {{ include "webhook.name" . }}
41 - key: app.kubernetes.io/instance
42 operator: In
43 values:
44 - {{ .Release.Name }}
45 - key: app.kubernetes.io/component
46 operator: In
47 values:
48 - cainjector
49 - controller
50 - webhook
51{{- if .Values.prometheus.servicemonitor.namespace }}
52 namespaceSelector:
53 matchNames:
54 - {{ include "cert-manager.namespace" . }}
55{{- end }}
56 endpoints:
57 - targetPort: {{ .Values.prometheus.servicemonitor.targetPort }}
58 path: {{ .Values.prometheus.servicemonitor.path }}
59 {{- if .Values.prometheus.servicemonitor.interval }}
60 interval: {{ .Values.prometheus.servicemonitor.interval }}
61 {{- end }}
62 {{- if .Values.prometheus.servicemonitor.scrapeTimeout }}
63 scrapeTimeout: {{ .Values.prometheus.servicemonitor.scrapeTimeout }}
64 {{- end }}
65 honorLabels: {{ .Values.prometheus.servicemonitor.honorLabels }}
66 {{- with .Values.prometheus.servicemonitor.endpointAdditionalProperties }}
67 {{- toYaml . | nindent 4 }}
68 {{- end }}
69{{- end }}