{{- $stsNoHeadlessSvcTypes := list "LoadBalancer" "NodePort" -}} apiVersion: v1 kind: Service metadata: {{- with .Values.serviceAnnotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} labels: {{- include "prometheus-pushgateway.defaultLabels" . | nindent 4 }} {{- with .Values.serviceLabels }} {{- toYaml . | nindent 4 }} {{- end }} name: {{ include "prometheus-pushgateway.fullname" . }} namespace: {{ template "prometheus-pushgateway.namespace" . }} spec: {{- if .Values.service.clusterIP }} clusterIP: {{ .Values.service.clusterIP }} {{ else if and .Values.runAsStatefulSet (not (has .Values.service.type $stsNoHeadlessSvcTypes)) }} clusterIP: None # Headless service {{- end }} {{- if .Values.service.ipDualStack.enabled }} ipFamilies: {{ toYaml .Values.service.ipDualStack.ipFamilies | nindent 4 }} ipFamilyPolicy: {{ .Values.service.ipDualStack.ipFamilyPolicy }} {{- end }} type: {{ .Values.service.type }} {{- with .Values.service.loadBalancerIP }} loadBalancerIP: {{ . }} {{- end }} {{- if .Values.service.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{- range $cidr := .Values.service.loadBalancerSourceRanges }} - {{ $cidr }} {{- end }} {{- end }} ports: - port: {{ .Values.service.port }} targetPort: {{ .Values.service.targetPort }} {{- if and (eq .Values.service.type "NodePort") .Values.service.nodePort }} nodePort: {{ .Values.service.nodePort }} {{- end }} protocol: TCP name: {{ .Values.service.portName }} selector: {{- include "prometheus-pushgateway.selectorLabels" . | nindent 4 }}