apiVersion: v1 kind: Service metadata: {{- if .Values.service.servicename }} name: {{ .Values.service.servicename }} {{- else }} name: {{ include "chartmuseum.fullname" . }} {{- end }} labels: {{ include "chartmuseum.labels.standard" . | indent 4 }} {{- if .Values.service.labels }} {{ toYaml .Values.service.labels | indent 4 }} {{- end }} {{- if .Values.service.annotations }} annotations: {{ toYaml .Values.service.annotations | indent 4 }} {{- end }} spec: type: {{ .Values.service.type }} {{- if (or (eq .Values.service.type "LoadBalancer") (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort)))) }} externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }} {{- end }} {{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges) }} loadBalancerSourceRanges: {{- with .Values.service.loadBalancerSourceRanges }} {{ toYaml . | indent 2 }} {{- end }} {{- end }} {{- if eq .Values.service.type "ClusterIP" }} {{- if .Values.service.clusterIP }} clusterIP: {{ .Values.service.clusterIP }} {{- end }} {{- end }} ports: - port: {{ .Values.service.externalPort }} {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }} nodePort: {{.Values.service.nodePort}} {{- else }} targetPort: http {{- end }} protocol: TCP name: http selector: app: {{ template "chartmuseum.name" . }} release: {{ .Release.Name | quote }}