33 lines
1.4 KiB
Smarty
33 lines
1.4 KiB
Smarty
{{- define "tc.v1.common.lib.ingress.integration.nginx" -}}
|
|
{{- $objectData := .objectData -}}
|
|
{{- $rootCtx := .rootCtx -}}
|
|
|
|
{{- $nginx := $objectData.integrations.nginx -}}
|
|
|
|
{{- if $nginx.enabled -}}
|
|
|
|
{{/* ipWhiteList */}}
|
|
{{- if $nginx.ipWhitelist -}}
|
|
{{- include "tc.v1.common.lib.ingress.integration.nginx.ipWhitelist" (dict "objectData" $objectData "whiteList" $nginx.ipWhitelist) -}}
|
|
{{- end -}}
|
|
|
|
{{/* themePark */}}
|
|
{{- if and $nginx.themePark $nginx.themePark.enabled -}}
|
|
{{- include "tc.v1.common.lib.ingress.integration.nginx.themePark" (dict "objectData" $objectData "themePark" $nginx.themePark) -}}
|
|
{{- end -}}
|
|
|
|
{{/* Auth */}}
|
|
{{- $validAuthTypes := (list "authentik" "authelia") -}}
|
|
{{- if and $nginx.auth $nginx.auth.type -}}
|
|
{{- if eq $nginx.auth.type "authentik" -}}
|
|
{{- include "tc.v1.common.lib.ingress.integration.nginx.auth.authentik" (dict "objectData" $objectData "auth" $nginx.auth) -}}
|
|
{{- else if eq $nginx.auth.type "authelia" -}}
|
|
{{- include "tc.v1.common.lib.ingress.integration.nginx.auth.authelia" (dict "objectData" $objectData "auth" $nginx.auth) -}}
|
|
{{- else -}}
|
|
{{- fail (printf "Ingress - Expected [integrations.nginx.auth.type] to be one of [%s], but got [%s]" (join ", " $validAuthTypes) $nginx.auth.type) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|
|
{{- end -}}
|