{{- if or .Values.controller.metricsConfig.enabled .Values.controller.telemetryConfig.enabled }} apiVersion: v1 kind: Service metadata: name: {{ .Release.Name }}-{{ .Values.controller.name }} labels: app: {{ .Release.Name }}-{{ .Values.controller.name}} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} {{- if .Values.controller.serviceLabels }} {{ toYaml .Values.controller.serviceLabels | nindent 4}} {{- end }} {{- if .Values.controller.serviceAnnotations }} annotations: {{ toYaml .Values.controller.serviceAnnotations | indent 4}}{{- end }} spec: ports: {{- if .Values.controller.metricsConfig.enabled }} - name: {{ .Values.controller.metricsServicePortName }} port: {{ .Values.controller.metricsServicePort }} protocol: TCP targetPort: {{ .Values.controller.metricsConfig.port }} {{- end }} {{- if .Values.controller.telemetryConfig.enabled }} - name: {{ .Values.controller.telemetryServicePortName }} port: {{ .Values.controller.telemetryServicePort }} protocol: TCP targetPort: {{ .Values.controller.telemetryConfig.port }} {{- end }} selector: app: {{ .Release.Name }}-{{ .Values.controller.name }} sessionAffinity: None type: {{ .Values.controller.serviceType }} {{- if and (eq .Values.controller.serviceType "LoadBalancer") .Values.controller.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{ toYaml .Values.controller.loadBalancerSourceRanges | indent 4 }}{{- end }} {{- end -}}