# 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. {{ if .Values.ingress.enabled -}} {{- $serviceName := include "kubernetes-dashboard.fullname" . -}} {{- $servicePort := .Values.service.externalPort -}} {{- $paths := .Values.ingress.paths -}} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ template "kubernetes-dashboard.fullname" . }} labels: {{- include "kubernetes-dashboard.labels" . | nindent 4 }} {{- range $key, $value := .Values.ingress.labels }} {{ $key }}: {{ $value | quote }} {{- 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 not .Values.protocolHttp }} # Add https backend protocol support for ingress-nginx nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" # Add https backend protocol support for GKE service.alpha.kubernetes.io/app-protocols: '{"https":"HTTPS"}' {{- end }} {{- with .Values.ingress.annotations }} {{ toYaml . | nindent 4 }} {{- end }} spec: {{- with .Values.ingress.className }} ingressClassName: {{ . | quote }} {{- end }} rules: {{- if .Values.ingress.hosts }} {{- range $host := .Values.ingress.hosts }} - host: {{ $host }} http: paths: {{- if len ($.Values.ingress.customPaths) }} {{- "\n" }}{{ tpl (toYaml $.Values.ingress.customPaths | nindent 10) $ }} {{- else }} {{- range $p := $paths }} - path: {{ $p }} pathType: ImplementationSpecific backend: service: name: {{ $serviceName }} port: number: {{ $servicePort }} {{- end -}} {{- end -}} {{- end -}} {{- else }} - http: paths: {{- if len ($.Values.ingress.customPaths) }} {{- "\n" }}{{ tpl (toYaml $.Values.ingress.customPaths | nindent 10) $ }} {{- else }} {{- range $p := $paths }} - path: {{ $p }} pathType: ImplementationSpecific backend: service: name: {{ $serviceName }} port: number: {{ $servicePort }} {{- end -}} {{- end -}} {{- end -}} {{- if .Values.ingress.tls }} tls: {{ toYaml .Values.ingress.tls | nindent 4 }} {{- end -}} {{- end -}}