# Copyright 2017 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: v1 kind: Service metadata: name: {{ template "kubernetes-dashboard.fullname" . }} labels: {{ include "kubernetes-dashboard.labels" . | nindent 4 }} app.kubernetes.io/component: kubernetes-dashboard {{ .Values.service.clusterServiceLabel.key | nindent 4}}: {{ .Values.service.clusterServiceLabel.enabled | quote }} {{- if .Values.service.labels }} {{ toYaml .Values.service.labels | nindent 4 }} {{- end }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} {{- end }} annotations: {{- if .Values.commonAnnotations }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} {{- if .Values.service.annotations }} {{ toYaml .Values.service.annotations | nindent 4 }} {{- end }} spec: type: {{ .Values.service.type }} {{- if hasKey .Values.service "clusterIP" }} clusterIP: {{ .Values.service.clusterIP }} {{- end }} ports: - port: {{ .Values.service.externalPort }} {{- if .Values.protocolHttp }} targetPort: http name: http {{- else }} targetPort: https name: https {{- end }} {{- if hasKey .Values.service "nodePort" }} nodePort: {{ .Values.service.nodePort }} {{- end }} {{- if .Values.service.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{ toYaml .Values.service.loadBalancerSourceRanges | nindent 4 }} {{- end }} selector: {{ include "kubernetes-dashboard.matchLabels" . | nindent 4 }} app.kubernetes.io/component: kubernetes-dashboard {{- if .Values.service.loadBalancerIP }} loadBalancerIP: {{ .Values.service.loadBalancerIP }} {{- end }}