_configuration.tpl 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. {{- define "vikunja.configuration" -}}
  2. {{- $fullname := (include "ix.v1.common.lib.chart.names.fullname" $) -}}
  3. {{- $redisHost := (printf "%s-redis" $fullname) -}}
  4. {{- $redisPass := randAlphaNum 32 -}}
  5. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-redis-creds" $fullname)) -}}
  6. {{- $redisPass = ((index .data "REDIS_PASSWORD") | b64dec) -}}
  7. {{- end -}}
  8. {{- $secretKey := randAlphaNum 64 -}}
  9. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-vikunja" $fullname)) -}}
  10. {{- $secretKey = ((index .data "VIKUNJA_SERVICE_JWTSECRET") | b64dec) -}}
  11. {{- end -}}
  12. {{- $dbHost := (printf "%s-postgres" $fullname) -}}
  13. {{- $dbUser := "vikunja" -}}
  14. {{- $dbName := "vikunja" -}}
  15. {{- $dbPass := (randAlphaNum 32) -}}
  16. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-postgres-creds" $fullname)) -}}
  17. {{- $dbPass = ((index .data "POSTGRES_PASSWORD") | b64dec) -}}
  18. {{- end -}}
  19. {{- $dbURL := (printf "postgres://%s:%s@%s:5432/%s?sslmode=disable" $dbUser $dbPass $dbHost $dbName) -}}
  20. {{/* Temporary set dynamic db details on values,
  21. so we can print them on the notes */}}
  22. {{- $_ := set .Values "vikunjaDbPass" $dbPass -}}
  23. {{- $_ := set .Values "vikunjaDbHost" $dbHost -}}
  24. secret:
  25. postgres-creds:
  26. enabled: true
  27. data:
  28. POSTGRES_USER: {{ $dbUser }}
  29. POSTGRES_DB: {{ $dbName }}
  30. POSTGRES_PASSWORD: {{ $dbPass }}
  31. POSTGRES_HOST: {{ $dbHost }}
  32. POSTGRES_URL: {{ $dbURL }}
  33. redis-creds:
  34. enabled: true
  35. data:
  36. ALLOW_EMPTY_PASSWORD: "no"
  37. REDIS_PASSWORD: {{ $redisPass }}
  38. REDIS_HOST: {{ $redisHost }}
  39. vikunja-creds:
  40. enabled: true
  41. data:
  42. VIKUNJA_SERVICE_JWTSECRET: {{ $secretKey }}
  43. VIKUNJA_DATABASE_USER: {{ $dbUser }}
  44. VIKUNJA_DATABASE_PASSWORD: {{ $dbPass }}
  45. VIKUNJA_DATABASE_HOST: {{ $dbHost }}
  46. VIKUNJA_DATABASE_DATABASE: {{ $dbName }}
  47. VIKUNJA_REDIS_HOST: {{ printf "%s:6379" $redisHost }}
  48. VIKUNJA_REDIS_PASSWORD: {{ $redisPass }}
  49. VIKUNJA_REDIS_DB: "0"
  50. configmap:
  51. vikunja-api:
  52. enabled: true
  53. data:
  54. VIKUNJA_SERVICE_TIMEZONE: {{ .Values.TZ }}
  55. VIKUNJA_SERVICE_INTERFACE:
  56. VIKUNJA_REDIS_ENABLED: "true"
  57. VIKUNJA_KEYVALUE_TYPE: redis
  58. VIKUNJA_DATABASE_TYPE: postgres
  59. VIKUNJA_SERVICE_INTERFACE: {{ printf ":%v" .Values.vikunjaPorts.api | quote }}
  60. VIKUNJA_FILES_MAXSIZE: {{ printf "%vMB" .Values.vikunjaConfig.maxFileSize }}
  61. VIKUNJA_FILES_BASEPATH: /app/vikunja/files
  62. VIKUNJA_SERVICE_FRONTENDURL: {{ printf "%s/" (.Values.vikunjaConfig.url | trimSuffix "/") }}
  63. vikunja-frontend:
  64. enabled: true
  65. data:
  66. VIKUNJA_HTTP_PORT: {{ .Values.vikunjaPorts.frontHttp | quote }}
  67. VIKUNJA_HTTP2_PORT: {{ .Values.vikunjaPorts.frontHttp2 | quote }}
  68. nginx-config:
  69. enabled: true
  70. data:
  71. nginx-config: |
  72. server {
  73. listen {{ .Values.vikunjaNetwork.webPort }};
  74. location /nginx-health {
  75. return 200;
  76. }
  77. location / {
  78. proxy_pass {{ printf "http://%s-frontend:%v" $fullname .Values.vikunjaPorts.frontHttp }};
  79. }
  80. location ~* ^/(api|dav|\.well-known)/ {
  81. proxy_pass {{ printf "http://%s:%v" $fullname .Values.vikunjaPorts.api }};
  82. client_max_body_size {{ printf "%vM" .Values.vikunjaConfig.maxFileSize }};
  83. }
  84. }
  85. {{- end -}}