From 557e6ac9e5ed78a20503e99a15e29d6d0845840e Mon Sep 17 00:00:00 2001 From: Till Skrodzki Date: Sat, 18 Jan 2025 19:48:37 +0100 Subject: [PATCH 1/2] Add DB_APPENDIX option DB_APPENDIX allows appending the collation used for the DB. See https://github.com/Mailu/Mailu/pull/3701/ --- mailu/templates/envvars-configmap.yaml | 1 + mailu/values.yaml | 3 +++ utils/check_env_vars.py | 1 + 3 files changed, 5 insertions(+) diff --git a/mailu/templates/envvars-configmap.yaml b/mailu/templates/envvars-configmap.yaml index b895a91c..b9fde299 100644 --- a/mailu/templates/envvars-configmap.yaml +++ b/mailu/templates/envvars-configmap.yaml @@ -31,6 +31,7 @@ data: DB_NAME: {{ include "mailu.database.name" . }} # DB_PW => via secret DB_USER: {{ include "mailu.database.username" . }} + DB_APPENDIX: {{ include "mailu.database.appendix" . }} DEBUG_ASSETS: "" DEBUG: "false" DEBUG_PROFILER: "false" diff --git a/mailu/values.yaml b/mailu/values.yaml index f690cf7a..81007d1a 100644 --- a/mailu/values.yaml +++ b/mailu/values.yaml @@ -296,6 +296,9 @@ externalDatabase: ## @param externalDatabase.existingSecretPasswordKey Key in the secret containing the database password existingSecretPasswordKey: "password" + ## @param externalDatabase.appendix String appended to the SQLAlchemy URI + appendix: "" + externalRedis: ## @param externalRedis.enabled Set to true to use an external Redis instance (ignored if `redis.enabled` is true) enabled: false diff --git a/utils/check_env_vars.py b/utils/check_env_vars.py index be16754c..7bc9ac83 100644 --- a/utils/check_env_vars.py +++ b/utils/check_env_vars.py @@ -33,6 +33,7 @@ "DB_PW": (False, "Managed by Helm chart"), "DB_HOST": (False, "Managed by Helm chart"), "DB_NAME": (False, "Managed by Helm chart"), + "DB_APPENDIX": (False, "Managed by Helm chart"), "SQLITE_DATABASE_FILE": ("", ""), "SQLALCHEMY_DATABASE_URI": ("", ""), "SQLALCHEMY_TRACK_MODIFICATIONS": ("", ""), From 092c7264c6c319d0dbac0997b0d4e5c4f27bc7b0 Mon Sep 17 00:00:00 2001 From: Till Skrodzki Date: Sat, 18 Jan 2025 21:16:11 +0100 Subject: [PATCH 2/2] Set variable mailu.database.appendix --- mailu/templates/_database.tpl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mailu/templates/_database.tpl b/mailu/templates/_database.tpl index d029779b..78f5232e 100644 --- a/mailu/templates/_database.tpl +++ b/mailu/templates/_database.tpl @@ -71,6 +71,17 @@ {{- end -}} {{- end -}} +{{/* Return the database URI appendix for Mailu */}} +{{- define "mailu.database.appendix" -}} +{{- if .Values.mariadb.enabled -}} + {{- "" | quote }} +{{- else if .Values.postgresql.enabled -}} + {{- "" | quote }} +{{- else }} + {{- .Values.externalDatabase.appendix | quote }} +{{- end -}} +{{- end -}} + {{/* Return the name of the secret for the external database */}} {{- define "mailu.database.external.secretName" -}} {{ include "common.secrets.name" (dict "existingSecret" .Values.externalDatabase.existingSecret "defaultNameSuffix" "externaldb" "context" .) }}