apiVersion: v1 kind: Service metadata: labels: app: {{ template "oauth2-proxy.name" . }} {{- include "oauth2-proxy.labels" . | indent 4 }} name: {{ template "oauth2-proxy.fullname" . }} namespace: {{ template "oauth2-proxy.namespace" $ }} {{- if .Values.service.annotations }} annotations: {{ toYaml .Values.service.annotations | indent 4 }} {{- end }} spec: {{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }} type: ClusterIP {{- if .Values.service.clusterIP }} clusterIP: {{ .Values.service.clusterIP }} {{end}} {{- else if eq .Values.service.type "LoadBalancer" }} type: {{ .Values.service.type }} {{- if .Values.service.loadBalancerIP }} loadBalancerIP: {{ .Values.service.loadBalancerIP }} {{- end }} {{- if .Values.service.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }} {{- end -}} {{- else }} type: {{ .Values.service.type }} {{- end }} ports: - port: {{ .Values.service.portNumber }} targetPort: {{ .Values.httpScheme }} {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }} nodePort: {{ .Values.service.nodePort }} {{- end }} protocol: TCP {{- with .Values.service.appProtocol }} appProtocol: {{ . }} {{- end }} name: {{ .Values.httpScheme }} {{- if and .Values.metrics.enabled .Values.metrics.port }} - port: {{ .Values.metrics.port }} protocol: TCP {{- with .Values.metrics.service.appProtocol }} appProtocol: {{ . }} {{- end }} targetPort: metrics {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.metrics.nodePort))) }} nodePort: {{ .Values.metrics.nodePort }} {{- end }} name: metrics {{- end }} selector: {{- include "oauth2-proxy.selectorLabels" . | indent 4 }}