_validation.tpl 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. {{- define "briefkasten.validation" -}}
  2. {{- $smtp := .Values.briefkastenConfig.smtp -}}
  3. {{- $github := .Values.briefkastenConfig.github -}}
  4. {{- $google := .Values.briefkastenConfig.google -}}
  5. {{- $keycloak := .Values.briefkastenConfig.keycloak -}}
  6. {{- $authentik := .Values.briefkastenConfig.authentik -}}
  7. {{- $providers := (list "smtp" "github" "google" "keycloak" "authentik") -}}
  8. {{- $found := false -}}
  9. {{- range $p := $providers -}}
  10. {{- $provider := get $.Values.briefkastenConfig $p -}}
  11. {{- if $provider.enabled -}}
  12. {{- $found = true -}}
  13. {{- end -}}
  14. {{- end -}}
  15. {{- if not $found -}}
  16. {{- fail (printf "Briefkasten - One or more auth provider [%s] must be enabled" (join ", " $providers)) -}}
  17. {{- end -}}
  18. {{- if $smtp.enabled -}}
  19. {{- $required := (list "server" "from") -}}
  20. {{- range $key := $required -}}
  21. {{- if not (get $smtp $key) -}}
  22. {{- fail (printf "Briefkasten - Key [%s] is required for SMTP auth provider" $key) -}}
  23. {{- end -}}
  24. {{- end -}}
  25. {{- end -}}
  26. {{- if $github.enabled -}}
  27. {{- $required := (list "id" "secret") -}}
  28. {{- range $key := $required -}}
  29. {{- if not (get $github $key) -}}
  30. {{- fail (printf "Briefkasten - Key [%s] is required for Github auth provider" $key) -}}
  31. {{- end -}}
  32. {{- end -}}
  33. {{- end -}}
  34. {{- if $google.enabled -}}
  35. {{- $required := (list "id" "secret") -}}
  36. {{- range $key := $required -}}
  37. {{- if not (get $google $key) -}}
  38. {{- fail (printf "Briefkasten - Key [%s] is required for Google auth provider" $key) -}}
  39. {{- end -}}
  40. {{- end -}}
  41. {{- end -}}
  42. {{- if $keycloak.enabled -}}
  43. {{- $required := (list "name" "id" "secret" "issuer") -}}
  44. {{- range $key := $required -}}
  45. {{- if not (get $keycloak $key) -}}
  46. {{- fail (printf "Briefkasten - Key [%s] is required for Keycloak auth provider" $key) -}}
  47. {{- end -}}
  48. {{- end -}}
  49. {{- end -}}
  50. {{- if $authentik.enabled -}}
  51. {{- $required := (list "name" "id" "secret" "issuer") -}}
  52. {{- range $key := $required -}}
  53. {{- if not (get $authentik $key) -}}
  54. {{- fail (printf "Briefkasten - Key [%s] is required for Authentik auth provider" $key) -}}
  55. {{- end -}}
  56. {{- end -}}
  57. {{- end -}}
  58. {{- end -}}