_configuration.tpl 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. {{- define "briefkasten.configuration" -}}
  2. {{- $fullname := (include "ix.v1.common.lib.chart.names.fullname" $) -}}
  3. {{- $secretKey := randAlphaNum 64 -}}
  4. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-briefkasten" $fullname)) -}}
  5. {{- $secretKey = ((index .data "NEXTAUTH_SECRET") | b64dec) -}}
  6. {{- end -}}
  7. {{- $dbHost := (printf "%s-postgres" $fullname) -}}
  8. {{- $dbUser := "briefkasten" -}}
  9. {{- $dbName := "briefkasten" -}}
  10. {{- $dbPass := (randAlphaNum 32) -}}
  11. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-postgres-creds" $fullname)) -}}
  12. {{- $dbPass = ((index .data "POSTGRES_PASSWORD") | b64dec) -}}
  13. {{- end -}}
  14. {{- $dbURL := (printf "postgres://%s:%s@%s:5432/%s?sslmode=disable" $dbUser $dbPass $dbHost $dbName) -}}
  15. {{/* Temporary set dynamic db details on values,
  16. so we can print them on the notes */}}
  17. {{- $_ := set .Values "briefkastenDbPass" $dbPass -}}
  18. {{- $_ := set .Values "briefkastenDbHost" $dbHost -}}
  19. {{- $smtp := .Values.briefkastenConfig.smtp -}}
  20. {{- $github := .Values.briefkastenConfig.github -}}
  21. {{- $google := .Values.briefkastenConfig.google -}}
  22. {{- $keycloak := .Values.briefkastenConfig.keycloak -}}
  23. {{- $authentik := .Values.briefkastenConfig.authentik }}
  24. secret:
  25. briefkasten:
  26. enabled: true
  27. data:
  28. NEXTAUTH_SECRET: {{ $secretKey }}
  29. DATABASE_URL: {{ $dbURL }}
  30. {{- if $smtp.enabled }}
  31. SMTP_SERVER: {{ $smtp.server }}
  32. SMTP_FROM: {{ $smtp.from }}
  33. {{- end -}}
  34. {{- if $github.enabled }}
  35. GITHUB_ID: {{ $github.id }}
  36. GITHUB_SECRET: {{ $github.secret }}
  37. {{- end -}}
  38. {{- if $google.enabled }}
  39. GOOGLE_ID: {{ $google.id }}
  40. GOOGLE_SECRET: {{ $google.secret }}
  41. {{- end -}}
  42. {{- if $keycloak.enabled }}
  43. KEYCLOAK_NAME: {{ $keycloak.name }}
  44. KEYCLOAK_ID: {{ $keycloak.id }}
  45. KEYCLOAK_SECRET: {{ $keycloak.secret }}
  46. KEYCLOAK_ISSUER: {{ $keycloak.issuer }}
  47. {{- end -}}
  48. {{- if $authentik.enabled }}
  49. AUTHENTIK_NAME: {{ $authentik.name }}
  50. AUTHENTIK_ID: {{ $authentik.id }}
  51. AUTHENTIK_SECRET: {{ $authentik.secret }}
  52. AUTHENTIK_ISSUER: {{ $authentik.issuer }}
  53. {{- end }}
  54. postgres-creds:
  55. enabled: true
  56. data:
  57. POSTGRES_USER: {{ $dbUser }}
  58. POSTGRES_DB: {{ $dbName }}
  59. POSTGRES_PASSWORD: {{ $dbPass }}
  60. POSTGRES_HOST: {{ $dbHost }}
  61. POSTGRES_URL: {{ $dbURL }}
  62. configmap:
  63. briefkasten:
  64. enabled: true
  65. data:
  66. NEXTAUTH_URL: {{ .Values.briefkastenConfig.url }}
  67. NEXTAUTH_URL_INTERNAL: http://127.0.0.1:{{ .Values.briefkastenNetwork.webPort }}
  68. PORT: {{ .Values.briefkastenNetwork.webPort | quote }}
  69. NODE_ENV: production
  70. {{- end -}}