1 {{- define "ingress.config.host" -}}
2 {{- $dot := default . .dot -}}
3 {{- $baseaddr := (required "'baseaddr' param, set to the specific part of the fqdn, is required." .baseaddr) -}}
4 {{- $burl := (required "'baseurl' param, set to the generic part of the fqdn, is required." $dot.Values.global.ingress.virtualhost.baseurl) -}}
5 {{ printf "%s.%s" $baseaddr $burl }}
8 {{- define "ingress.config.port" -}}
9 {{- $dot := default . .dot -}}
10 {{ range .Values.ingress.service }}
11 {{- $baseaddr := (required "'baseaddr' param, set to the specific part of the fqdn, is required." .baseaddr) }}
12 - host: {{ include "ingress.config.host" (dict "dot" $dot "baseaddr" $baseaddr) }}
16 serviceName: {{ .name }}
17 servicePort: {{ .port }}
25 {{- define "ingress.config.annotations.ssl" -}}
26 {{- if .Values.ingress.config -}}
27 {{- if .Values.ingress.config.ssl -}}
28 {{- if eq .Values.ingress.config.ssl "redirect" -}}
29 kubernetes.io/ingress.class: nginx
30 nginx.ingress.kubernetes.io/ssl-passthrough: "true"
31 nginx.ingress.kubernetes.io/ssl-redirect: "true"
32 {{- else if eq .Values.ingress.config.ssl "native" -}}
33 nginx.ingress.kubernetes.io/ssl-redirect: "true"
34 {{- else if eq .Values.ingress.config.ssl "none" -}}
35 nginx.ingress.kubernetes.io/ssl-redirect: "false"
42 {{- define "ingress.config.annotations" -}}
43 {{- if .Values.ingress -}}
44 {{- if .Values.ingress.annotations -}}
45 {{ toYaml .Values.ingress.annotations | indent 4 | trim }}
48 {{ include "ingress.config.annotations.ssl" . | indent 4 | trim }}
51 {{- define "common.ingress._overrideIfDefined" -}}
52 {{- $currValue := .currVal }}
53 {{- $parent := .parent }}
56 {{- if hasKey $parent $var }}
57 {{- default "" (index $parent $var) }}
59 {{- default "" $currValue -}}
62 {{- default "" $currValue }}
66 {{- define "common.ingress" -}}
67 {{- if .Values.ingress -}}
68 {{- $ingressEnabled := default false .Values.ingress.enabled -}}
69 {{- $ingressEnabled := include "common.ingress._overrideIfDefined" (dict "currVal" $ingressEnabled "parent" (default (dict) .Values.global.ingress) "var" "enabled") }}
70 {{- $ingressEnabled := include "common.ingress._overrideIfDefined" (dict "currVal" $ingressEnabled "parent" .Values.ingress "var" "enabledOverride") }}
71 {{- if $ingressEnabled }}
72 apiVersion: networking.k8s.io/v1beta1
75 name: {{ include "common.fullname" . }}-ingress
77 {{ include "ingress.config.annotations" . }}
79 app: {{ .Chart.Name }}
80 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
81 release: {{ include "common.release" . }}
82 heritage: {{ .Release.Service }}
85 {{ include "ingress.config.port" . | trim }}
86 {{- if .Values.ingress.tls }}
88 {{ toYaml .Values.ingress.tls | indent 4 }}
90 {{- if .Values.ingress.config -}}
91 {{- if .Values.ingress.config.tls -}}
92 {{- $dot := default . .dot }}
95 {{- range .Values.ingress.service }}{{ $baseaddr := required "baseaddr" .baseaddr }}
96 - {{ include "ingress.config.host" (dict "dot" $dot "baseaddr" $baseaddr) }}
98 secretName: {{ required "secret" (tpl (default "" .Values.ingress.config.tls.secret) $dot) }}