1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- {{- define "briefkasten.validation" -}}
- {{- $smtp := .Values.briefkastenConfig.smtp -}}
- {{- $github := .Values.briefkastenConfig.github -}}
- {{- $google := .Values.briefkastenConfig.google -}}
- {{- $keycloak := .Values.briefkastenConfig.keycloak -}}
- {{- $authentik := .Values.briefkastenConfig.authentik -}}
- {{- $providers := (list "smtp" "github" "google" "keycloak" "authentik") -}}
- {{- $found := false -}}
- {{- range $p := $providers -}}
- {{- $provider := get $.Values.briefkastenConfig $p -}}
- {{- if $provider.enabled -}}
- {{- $found = true -}}
- {{- end -}}
- {{- end -}}
- {{- if not $found -}}
- {{- fail (printf "Briefkasten - One or more auth provider [%s] must be enabled" (join ", " $providers)) -}}
- {{- end -}}
- {{- if $smtp.enabled -}}
- {{- $required := (list "server" "from") -}}
- {{- range $key := $required -}}
- {{- if not (get $smtp $key) -}}
- {{- fail (printf "Briefkasten - Key [%s] is required for SMTP auth provider" $key) -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
- {{- if $github.enabled -}}
- {{- $required := (list "id" "secret") -}}
- {{- range $key := $required -}}
- {{- if not (get $github $key) -}}
- {{- fail (printf "Briefkasten - Key [%s] is required for Github auth provider" $key) -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
- {{- if $google.enabled -}}
- {{- $required := (list "id" "secret") -}}
- {{- range $key := $required -}}
- {{- if not (get $google $key) -}}
- {{- fail (printf "Briefkasten - Key [%s] is required for Google auth provider" $key) -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
- {{- if $keycloak.enabled -}}
- {{- $required := (list "name" "id" "secret" "issuer") -}}
- {{- range $key := $required -}}
- {{- if not (get $keycloak $key) -}}
- {{- fail (printf "Briefkasten - Key [%s] is required for Keycloak auth provider" $key) -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
- {{- if $authentik.enabled -}}
- {{- $required := (list "name" "id" "secret" "issuer") -}}
- {{- range $key := $required -}}
- {{- if not (get $authentik $key) -}}
- {{- fail (printf "Briefkasten - Key [%s] is required for Authentik auth provider" $key) -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
|