{{- if and .Values.metrics.serviceMonitor.enabled (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1") -}} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: {{ include "karpenter.fullname" . }} namespace: {{ .Release.Namespace }} labels: {{- include "karpenter.labels" . | nindent 4 }} {{- with .Values.metrics.serviceMonitor.additionalLabels }} {{- toYaml . | nindent 4 }} {{- end }} {{- with .Values.additionalAnnotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: namespaceSelector: matchNames: - {{ .Release.Namespace }} selector: matchLabels: {{- include "karpenter.selectorLabels" . | nindent 6 }} endpoints: - port: http-metrics path: /metrics interval: {{ .Values.metrics.serviceMonitor.interval | default "30s" }} scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout | default "10s" }} {{- with .Values.metrics.serviceMonitor.relabelings }} relabelings: {{- toYaml . | nindent 6 }} {{- end }} {{- with .Values.metrics.serviceMonitor.metricRelabelings }} metricRelabelings: {{- toYaml . | nindent 6 }} {{- end }} {{- with .Values.metrics.serviceMonitor.endpointConfig }} {{- toYaml . | nindent 6 }} {{- end }} {{- end -}}