update
diff --git a/charts/cert-manager/templates/servicemonitor.yaml b/charts/cert-manager/templates/servicemonitor.yaml
index 9d9e899..a33df0b 100644
--- a/charts/cert-manager/templates/servicemonitor.yaml
+++ b/charts/cert-manager/templates/servicemonitor.yaml
@@ -1,4 +1,6 @@
-{{- if and .Values.prometheus.enabled .Values.prometheus.servicemonitor.enabled }}
+{{- if and .Values.prometheus.enabled (and .Values.prometheus.podmonitor.enabled .Values.prometheus.servicemonitor.enabled) }}
+{{- fail "Either .Values.prometheus.podmonitor.enabled or .Values.prometheus.servicemonitor.enabled can be enabled at a time, but not both." }}
+{{- else if and .Values.prometheus.enabled .Values.prometheus.servicemonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
@@ -14,7 +16,9 @@
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: "controller"
{{- include "labels" . | nindent 4 }}
+ {{- if .Values.prometheus.servicemonitor.prometheusInstance }}
prometheus: {{ .Values.prometheus.servicemonitor.prometheusInstance }}
+ {{- end }}
{{- with .Values.prometheus.servicemonitor.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
@@ -25,21 +29,41 @@
{{- end }}
{{- end }}
spec:
- jobLabel: {{ template "cert-manager.fullname" . }}
+ jobLabel: app.kubernetes.io/name
selector:
- matchLabels:
- app.kubernetes.io/name: {{ template "cert-manager.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/component: "controller"
+ matchExpressions:
+ - key: app.kubernetes.io/name
+ operator: In
+ values:
+ - {{ include "cainjector.name" . }}
+ - {{ template "cert-manager.name" . }}
+ - {{ include "webhook.name" . }}
+ - key: app.kubernetes.io/instance
+ operator: In
+ values:
+ - {{ .Release.Name }}
+ - key: app.kubernetes.io/component
+ operator: In
+ values:
+ - cainjector
+ - controller
+ - webhook
{{- if .Values.prometheus.servicemonitor.namespace }}
namespaceSelector:
matchNames:
- {{ include "cert-manager.namespace" . }}
{{- end }}
endpoints:
- - targetPort: {{ .Values.prometheus.servicemonitor.targetPort }}
- path: {{ .Values.prometheus.servicemonitor.path }}
+ - targetPort: http-metrics
+ path: /metrics
+ {{- if .Values.prometheus.servicemonitor.interval }}
interval: {{ .Values.prometheus.servicemonitor.interval }}
+ {{- end }}
+ {{- if .Values.prometheus.servicemonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.prometheus.servicemonitor.scrapeTimeout }}
+ {{- end }}
honorLabels: {{ .Values.prometheus.servicemonitor.honorLabels }}
+ {{- with .Values.prometheus.servicemonitor.endpointAdditionalProperties }}
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
{{- end }}