{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) .Values.serviceMonitor.enabled -}} apiVersion: v1 kind: Service metadata: name: {{ include "external-secrets.fullname" . }}-metrics namespace: {{ .Release.Namespace | quote }} labels: {{- include "external-secrets.labels" . | nindent 4 }} spec: type: ClusterIP ports: - port: {{ .Values.metrics.service.port }} protocol: TCP name: metrics selector: {{- include "external-secrets.selectorLabels" . | nindent 4 }} --- apiVersion: "monitoring.coreos.com/v1" kind: ServiceMonitor metadata: labels: {{- include "external-secrets.labels" . | nindent 4 }} {{- if .Values.serviceMonitor.additionalLabels }} {{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} {{- end }} name: {{ include "external-secrets.fullname" . }}-metrics namespace: {{ .Values.serviceMonitor.namespace | default .Release.Namespace | quote }} spec: selector: matchLabels: {{- include "external-secrets.selectorLabels" . | nindent 6 }} namespaceSelector: matchNames: - {{ .Release.Namespace | quote }} endpoints: - port: metrics interval: {{ .Values.serviceMonitor.interval }} scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} honorLabels: {{ .Values.serviceMonitor.honorLabels }} {{- with .Values.serviceMonitor.metricRelabelings }} metricRelabelings: {{- toYaml . | nindent 6 }} {{- end }} {{- with .Values.serviceMonitor.relabelings }} relabelings: {{- toYaml . | nindent 6 }} {{- end }} --- {{- if .Values.webhook.create }} apiVersion: v1 kind: Service metadata: name: {{ include "external-secrets.fullname" . }}-webhook-metrics namespace: {{ .Release.Namespace | quote }} labels: {{- include "external-secrets-webhook-metrics.labels" . | nindent 4 }} spec: type: ClusterIP ports: - port: {{ .Values.webhook.metrics.service.port }} protocol: TCP name: metrics selector: {{- include "external-secrets-webhook.selectorLabels" . | nindent 4 }} --- apiVersion: "monitoring.coreos.com/v1" kind: ServiceMonitor metadata: labels: {{- include "external-secrets-webhook.labels" . | nindent 4 }} {{- if .Values.serviceMonitor.additionalLabels }} {{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} {{- end }} name: {{ include "external-secrets.fullname" . }}-webhook-metrics namespace: {{ .Values.serviceMonitor.namespace | default .Release.Namespace | quote }} spec: selector: matchLabels: {{- include "external-secrets-webhook-metrics.labels" . | nindent 6 }} namespaceSelector: matchNames: - {{ .Release.Namespace | quote }} endpoints: - port: metrics interval: {{ .Values.serviceMonitor.interval }} scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} honorLabels: {{ .Values.serviceMonitor.honorLabels }} {{- with .Values.serviceMonitor.metricRelabelings }} metricRelabelings: {{- toYaml . | nindent 6 }} {{- end }} {{- with .Values.serviceMonitor.relabelings }} relabelings: {{- toYaml . | nindent 6 }} {{- end }} {{- end }} --- {{- if .Values.certController.create }} apiVersion: v1 kind: Service metadata: name: {{ include "external-secrets.fullname" . }}-cert-controller-metrics namespace: {{ .Release.Namespace | quote }} labels: {{- include "external-secrets-cert-controller-metrics.labels" . | nindent 4 }} spec: type: ClusterIP ports: - port: {{ .Values.certController.metrics.listen.port }} protocol: TCP name: metrics selector: {{- include "external-secrets-cert-controller.selectorLabels" . | nindent 4 }} --- apiVersion: "monitoring.coreos.com/v1" kind: ServiceMonitor metadata: labels: {{- include "external-secrets-cert-controller.labels" . | nindent 4 }} {{- if .Values.serviceMonitor.additionalLabels }} {{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} {{- end }} name: {{ include "external-secrets.fullname" . }}-cert-controller-metrics namespace: {{ .Values.serviceMonitor.namespace | default .Release.Namespace | quote }} spec: selector: matchLabels: {{- include "external-secrets-cert-controller-metrics.labels" . | nindent 6 }} namespaceSelector: matchNames: - {{ .Release.Namespace | quote }} endpoints: - port: metrics interval: {{ .Values.serviceMonitor.interval }} scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} honorLabels: {{ .Values.serviceMonitor.honorLabels }} {{- with .Values.serviceMonitor.metricRelabelings }} metricRelabelings: {{- toYaml . | nindent 6 }} {{- end }} {{- with .Values.serviceMonitor.relabelings }} relabelings: {{- toYaml . | nindent 6 }} {{- end }} {{- end }} {{- end }}