{{- if .Values.serviceMonitor.enabled }} --- apiVersion: v1 kind: Service metadata: name: {{ include "provisioner.fullname" . }} namespace: {{ .Release.Namespace }} labels: helm.sh/chart: {{ template "provisioner.chart" . }} app.kubernetes.io/name: {{ template "provisioner.name" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} spec: type: ClusterIP ports: - port: 8080 targetPort: 8080 name: metrics selector: app.kubernetes.io/name: {{ template "provisioner.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: {{ include "provisioner.fullname" . }} namespace: {{ .Values.serviceMonitor.namespace | default .Release.Namespace }} labels: helm.sh/chart: {{ template "provisioner.chart" . }} app.kubernetes.io/name: {{ template "provisioner.name" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} {{- range $k, $v := .Values.serviceMonitor.additionalLabels }} {{ $k }}: {{ $v | quote }} {{- end }} spec: jobLabel: app.kubernetes.io/name endpoints: - port: metrics interval: {{ .Values.serviceMonitor.interval }} scheme: http {{- if .Values.serviceMonitor.relabelings }} relabelings: {{ toYaml .Values.serviceMonitor.relabelings | indent 4 }} {{- end }} namespaceSelector: matchNames: - {{ .Release.Namespace }} selector: matchLabels: app.kubernetes.io/name: {{ template "provisioner.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }}