2025-08-24 00:09:37 +03:00

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 -}}