{{- if .Values.kubeStateMetrics.enabled -}} apiVersion: v1 kind: Service metadata: {{- if .Values.kubeStateMetrics.service.annotations }} annotations: {{ toYaml .Values.kubeStateMetrics.service.annotations | indent 4 }} {{- end }} labels: {{- include "prometheus.kubeStateMetrics.labels" . | nindent 4 }} {{- if .Values.kubeStateMetrics.service.labels }} {{ toYaml .Values.kubeStateMetrics.service.labels | indent 4 }} {{- end }} name: {{ template "prometheus.kubeStateMetrics.fullname" . }} {{ include "prometheus.namespace" . | indent 2 }} spec: {{- if .Values.kubeStateMetrics.service.clusterIP }} clusterIP: {{ .Values.kubeStateMetrics.service.clusterIP }} {{- end }} {{- if .Values.kubeStateMetrics.service.externalIPs }} externalIPs: {{ toYaml .Values.kubeStateMetrics.service.externalIPs | indent 4 }} {{- end }} {{- if .Values.kubeStateMetrics.service.loadBalancerIP }} loadBalancerIP: {{ .Values.kubeStateMetrics.service.loadBalancerIP }} {{- end }} {{- if .Values.kubeStateMetrics.service.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{- range $cidr := .Values.kubeStateMetrics.service.loadBalancerSourceRanges }} - {{ $cidr }} {{- end }} {{- end }} ports: - name: http port: {{ .Values.kubeStateMetrics.service.port }} protocol: TCP targetPort: 8080 selector: app: {{ template "prometheus.name" . }} component: "{{ .Values.kubeStateMetrics.name }}" release: {{ .Release.Name }} type: "{{ .Values.kubeStateMetrics.service.type }}" {{- end }}