1 {{- define "ingress.config.port" -}}
2 {{- if .Values.ingress -}}
3 {{- if .Values.global.ingress -}}
4 {{- if or (not .Values.global.ingress.virtualhost) (not .Values.global.ingress.virtualhost.enabled) -}}
7 {{- range .Values.ingress.service }}
8 - path: {{ printf "/%s" (required "baseaddr" .baseaddr) }}
10 serviceName: {{ .name }}
11 servicePort: {{ .port }}
13 {{- else if .Values.ingress.service -}}
14 {{- $burl := (required "baseurl" .Values.global.ingress.virtualhost.baseurl) -}}
15 {{ range .Values.ingress.service }}
16 - host: {{ printf "%s.%s" (required "baseaddr" .baseaddr) $burl }}
20 serviceName: {{ .name }}
21 servicePort: {{ .port }}
24 - path: {{ printf "/%s" .Chart.Name }}
26 serviceName: {{ .Chart.Name }}
27 servicePort: {{ .Values.service.externalPort }}
34 {{- define "ingress.config.annotations.ssl" -}}
35 {{- if .Values.ingress.config -}}
36 {{- if .Values.ingress.config.ssl -}}
37 {{- if eq .Values.ingress.config.ssl "redirect" -}}
38 kubernetes.io/ingress.class: nginx
39 nginx.ingress.kubernetes.io/ssl-passthrough: "true"
40 nginx.ingress.kubernetes.io/ssl-redirect: "true"
41 {{- else if eq .Values.ingress.config.ssl "native" -}}
42 nginx.ingress.kubernetes.io/ssl-redirect: "true"
43 {{- else if eq .Values.ingress.config.ssl "none" -}}
44 nginx.ingress.kubernetes.io/ssl-redirect: "false"
51 {{- define "ingress.config.annotations" -}}
52 {{- if .Values.ingress -}}
53 {{- if .Values.ingress.annotations -}}
54 {{ toYaml .Values.ingress.annotations | indent 4 | trim }}
57 {{ include "ingress.config.annotations.ssl" . | indent 4 | trim }}
60 {{- define "common.ingress._overrideIfDefined" -}}
61 {{- $currValue := .currVal }}
62 {{- $parent := .parent }}
65 {{- if hasKey $parent $var }}
66 {{- default "" (index $parent $var) }}
68 {{- default "" $currValue -}}
71 {{- default "" $currValue }}
75 {{- define "common.ingress" -}}
76 {{- if .Values.ingress -}}
77 {{- $ingressEnabled := default false .Values.ingress.enabled -}}
78 {{- $ingressEnabled := include "common.ingress._overrideIfDefined" (dict "currVal" $ingressEnabled "parent" (default (dict) .Values.global.ingress) "var" "enabled") }}
79 {{- $ingressEnabled := include "common.ingress._overrideIfDefined" (dict "currVal" $ingressEnabled "parent" .Values.ingress "var" "enabledOverride") }}
80 {{- if $ingressEnabled }}
81 apiVersion: networking.k8s.io/v1beta1
84 name: {{ include "common.fullname" . }}-ingress
86 {{ include "ingress.config.annotations" . }}
88 app: {{ .Chart.Name }}
89 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
90 release: {{ include "common.release" . }}
91 heritage: {{ .Release.Service }}
94 {{ include "ingress.config.port" . | trim }}
95 {{- if .Values.ingress.tls }}
97 {{ toYaml .Values.ingress.tls | indent 4 }}