{{- if and .Values.service.enabled -}} apiVersion: v1 kind: Service metadata: name: {{ template "service.fullname" . }} namespace: {{ .Release.Namespace | quote }} annotations: {{- range $key, $value := .Values.service.annotations }} {{ $key }}: {{ $value | quote }} {{- end }} labels: app: {{ include "service.fullname" . }} release: {{ .Release.Name }} spec: type: {{ .Values.service.type }} {{- if (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) }} {{- if hasKey .Values.service "externalTrafficPolicy" -}} externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }} {{- end }} {{- end }} {{- if eq .Values.service.type "LoadBalancer" }} loadBalancerIP: {{ default "" .Values.service.loadBalancerIP | quote }} {{- end }} ports: - name: http port: {{ .Values.service.httpPort }} {{- if hasKey .Values.service "targetPort" }} targetPort: {{ .Values.service.targetPort }} {{- end }} - name: ws port: {{ .Values.servicews.httpPort }} {{- if hasKey .Values.servicews "targetPort" }} targetPort: {{ .Values.servicews.targetPort }} {{- end }} {{- if hasKey .Values.service "nodePort" }} nodePort: {{ .Values.service.nodePort }} {{- end }} selector: app: {{ include "service.fullname" . }} release: {{ .Release.Name | quote }} {{- end -}}