1 {{- define "ingress.config.port" -}}
2 {{- $dot := default . .dot -}}
3 {{- $burl := (required "'baseurl' param, set to the generic part of the fqdn, is required." $dot.Values.global.ingress.virtualhost.baseurl) -}}
4 {{ range .Values.ingress.service }}
5 {{- $baseaddr := (required "'baseaddr' param, set to the specific part of the fqdn, is required." .baseaddr) }}
6 - host: {{ printf "%s.%s" $baseaddr $burl }}
10 serviceName: {{ .name }}
11 servicePort: {{ .port }}
19 {{- define "ingress.config.annotations.ssl" -}}
20 {{- if .Values.ingress.config -}}
21 {{- if .Values.ingress.config.ssl -}}
22 {{- if eq .Values.ingress.config.ssl "redirect" -}}
23 kubernetes.io/ingress.class: nginx
24 nginx.ingress.kubernetes.io/ssl-passthrough: "true"
25 nginx.ingress.kubernetes.io/ssl-redirect: "true"
26 {{- else if eq .Values.ingress.config.ssl "native" -}}
27 nginx.ingress.kubernetes.io/ssl-redirect: "true"
28 {{- else if eq .Values.ingress.config.ssl "none" -}}
29 nginx.ingress.kubernetes.io/ssl-redirect: "false"
36 {{- define "ingress.config.annotations" -}}
37 {{- if .Values.ingress -}}
38 {{- if .Values.ingress.annotations -}}
39 {{ toYaml .Values.ingress.annotations | indent 4 | trim }}
42 {{ include "ingress.config.annotations.ssl" . | indent 4 | trim }}
45 {{- define "common.ingress._overrideIfDefined" -}}
46 {{- $currValue := .currVal }}
47 {{- $parent := .parent }}
50 {{- if hasKey $parent $var }}
51 {{- default "" (index $parent $var) }}
53 {{- default "" $currValue -}}
56 {{- default "" $currValue }}
60 {{- define "common.ingress" -}}
61 {{- if .Values.ingress -}}
62 {{- $ingressEnabled := default false .Values.ingress.enabled -}}
63 {{- $ingressEnabled := include "common.ingress._overrideIfDefined" (dict "currVal" $ingressEnabled "parent" (default (dict) .Values.global.ingress) "var" "enabled") }}
64 {{- $ingressEnabled := include "common.ingress._overrideIfDefined" (dict "currVal" $ingressEnabled "parent" .Values.ingress "var" "enabledOverride") }}
65 {{- if $ingressEnabled }}
66 apiVersion: networking.k8s.io/v1beta1
69 name: {{ include "common.fullname" . }}-ingress
71 {{ include "ingress.config.annotations" . }}
73 app: {{ .Chart.Name }}
74 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
75 release: {{ include "common.release" . }}
76 heritage: {{ .Release.Service }}
79 {{ include "ingress.config.port" . | trim }}
80 {{- if .Values.ingress.tls }}
82 {{ toYaml .Values.ingress.tls | indent 4 }}
84 {{- if .Values.ingress.config -}}
85 {{- if .Values.ingress.config.tls -}}
86 {{- $dot := default . .dot -}}
89 {{- range .Values.ingress.service }}{{ $baseaddr := required "baseaddr" .baseaddr }}
90 - {{ include "ingress.config.host" (dict "dot" $dot "baseaddr" $baseaddr) }}
92 secretName: {{ required "secret" (tpl (default "" .Values.ingress.config.tls.secret) $dot) }}