{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) .Values.serviceMonitor.enabled -}} apiVersion: v1 kind: Service metadata: name: {{ include "external-secrets.fullname" . }}-metrics namespace: {{ template "external-secrets.namespace" . }} labels: {{- include "external-secrets.labels" . | nindent 4 }} spec: type: ClusterIP {{- if .Values.service.ipFamilyPolicy }} ipFamilyPolicy: {{ .Values.service.ipFamilyPolicy }} {{- end }} {{- if .Values.service.ipFamilies }} ipFamilies: {{ .Values.service.ipFamilies | toYaml | nindent 2 }} {{- end }} 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 (include "external-secrets.namespace" .) | quote }} spec: selector: matchLabels: {{- include "external-secrets.selectorLabels" . | nindent 6 }} namespaceSelector: matchNames: - {{ template "external-secrets.namespace" . }} 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: {{ template "external-secrets.namespace" . }} labels: {{- include "external-secrets-webhook-metrics.labels" . | nindent 4 }} spec: type: ClusterIP {{- if .Values.service.ipFamilyPolicy }} ipFamilyPolicy: {{ .Values.service.ipFamilyPolicy }} {{- end }} {{- if .Values.service.ipFamilies }} ipFamilies: {{ .Values.service.ipFamilies | toYaml | nindent 2 }} {{- end }} 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 (include "external-secrets.namespace" .) | quote }} spec: selector: matchLabels: {{- include "external-secrets-webhook-metrics.labels" . | nindent 6 }} namespaceSelector: matchNames: - {{ template "external-secrets.namespace" . }} 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: {{ template "external-secrets.namespace" . }} labels: {{- include "external-secrets-cert-controller-metrics.labels" . | nindent 4 }} spec: type: ClusterIP {{- if .Values.service.ipFamilyPolicy }} ipFamilyPolicy: {{ .Values.service.ipFamilyPolicy }} {{- end }} {{- if .Values.service.ipFamilies }} ipFamilies: {{ .Values.service.ipFamilies | toYaml | nindent 2 }} {{- end }} 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 (include "external-secrets.namespace" .) | quote }} spec: selector: matchLabels: {{- include "external-secrets-cert-controller-metrics.labels" . | nindent 6 }} namespaceSelector: matchNames: - {{ template "external-secrets.namespace" . }} 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 }}