From ac8dd72287c64b67075db8d28e1f9182aa4ebb95 Mon Sep 17 00:00:00 2001 From: Jacques ROUSSEL Date: Tue, 1 Oct 2024 10:47:34 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7(mail)=20use=20new=20scaleway=20ema?= =?UTF-8?q?il=20gateway?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We modify multiples things : * settings.py in order to manage the new way to send email with the scaleway gateway * helm template to manage new mandatory secret * helm configuration for staging/preprod/production --- CHANGELOG.md | 3 +++ secrets | 2 +- src/backend/people/settings.py | 4 +++- src/helm/desk/templates/secrets.yaml | 6 ++++++ src/helm/env.d/preprod/values.desk.yaml.gotmpl | 15 ++++++++++++--- src/helm/env.d/production/values.desk.yaml.gotmpl | 15 ++++++++++++--- src/helm/env.d/staging/values.desk.yaml.gotmpl | 15 ++++++++++++--- 7 files changed, 49 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37c802621..61fe9eb91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to ## [Unreleased] +- 🔧(mail) use new scaleway email gateway #435 + + ## [1.2.0] - 2024-09-30 diff --git a/secrets b/secrets index 7484f212c..defe2327e 160000 --- a/secrets +++ b/secrets @@ -1 +1 @@ -Subproject commit 7484f212c522d68891ce31197dd7dba62c4be095 +Subproject commit defe2327e08aca1541a8282dd36b6a077b9354c0 diff --git a/src/backend/people/settings.py b/src/backend/people/settings.py index d1041e52b..bd48c3d75 100755 --- a/src/backend/people/settings.py +++ b/src/backend/people/settings.py @@ -265,10 +265,12 @@ class Base(Configuration): # Mail EMAIL_BACKEND = values.Value("django.core.mail.backends.smtp.EmailBackend") EMAIL_HOST = values.Value(None) + EMAIL_HOST_USER = values.Value(None) + EMAIL_HOST_PASSWORD = values.Value(None) EMAIL_PORT = values.PositiveIntegerValue(None) + EMAIL_USE_TLS = values.BooleanValue(False) EMAIL_USE_SSL = values.BooleanValue(False) EMAIL_FROM = values.Value("from@example.com") - AUTH_USER_MODEL = "core.User" INVITATION_VALIDITY_DURATION = 604800 # 7 days, in seconds diff --git a/src/helm/desk/templates/secrets.yaml b/src/helm/desk/templates/secrets.yaml index df765486b..1c9f9c6f3 100644 --- a/src/helm/desk/templates/secrets.yaml +++ b/src/helm/desk/templates/secrets.yaml @@ -22,3 +22,9 @@ stringData: {{- if .Values.mail_provisioning_api_credentials }} MAIL_PROVISIONING_API_CREDENTIALS: {{ .Values.mail_provisioning_api_credentials }} {{- end }} +{{- if .Values.djangoEmailHostUser }} + DJANGO_EMAIL_HOST_USER: {{ .Values.djangoEmailHostUser }} +{{- end }} +{{- if .Values.djangoEmailHostPassword }} + DJANGO_EMAIL_HOST_PASSWORD: {{ .Values.djangoEmailHostPassword }} +{{- end }} diff --git a/src/helm/env.d/preprod/values.desk.yaml.gotmpl b/src/helm/env.d/preprod/values.desk.yaml.gotmpl index 998dbe38d..142f42d4b 100644 --- a/src/helm/env.d/preprod/values.desk.yaml.gotmpl +++ b/src/helm/env.d/preprod/values.desk.yaml.gotmpl @@ -24,9 +24,18 @@ backend: secretKeyRef: name: backend key: DJANGO_SUPERUSER_PASSWORD - DJANGO_EMAIL_HOST: "snap-mail.numerique.gouv.fr" - DJANGO_EMAIL_PORT: 465 - DJANGO_EMAIL_USE_SSL: True + DJANGO_EMAIL_HOST: "smtp.tem.scw.cloud" + DJANGO_EMAIL_PORT: 587 + DJANGO_EMAIL_USE_TLS: True + DJANGO_EMAIL_FROM: "noreply@regie.beta.numerique.gouv.fr" + DJANGO_EMAIL_HOST_USER: + secretKeyRef: + name: backend + key: DJANGO_EMAIL_HOST_USER + DJANGO_EMAIL_HOST_PASSWORD: + secretKeyRef: + name: backend + key: DJANGO_EMAIL_HOST_PASSWORD DJANGO_SILENCED_SYSTEM_CHECKS: security.W008,security.W004 OIDC_OP_JWKS_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/jwks OIDC_OP_AUTHORIZATION_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/authorize diff --git a/src/helm/env.d/production/values.desk.yaml.gotmpl b/src/helm/env.d/production/values.desk.yaml.gotmpl index ec4a641d2..7a3cf559e 100644 --- a/src/helm/env.d/production/values.desk.yaml.gotmpl +++ b/src/helm/env.d/production/values.desk.yaml.gotmpl @@ -24,9 +24,18 @@ backend: secretKeyRef: name: backend key: DJANGO_SUPERUSER_PASSWORD - DJANGO_EMAIL_HOST: "snap-mail.numerique.gouv.fr" - DJANGO_EMAIL_PORT: 465 - DJANGO_EMAIL_USE_SSL: True + DJANGO_EMAIL_HOST: "smtp.tem.scw.cloud" + DJANGO_EMAIL_PORT: 587 + DJANGO_EMAIL_USE_TLS: True + DJANGO_EMAIL_FROM: "noreply@regie.beta.numerique.gouv.fr" + DJANGO_EMAIL_HOST_USER: + secretKeyRef: + name: backend + key: DJANGO_EMAIL_HOST_USER + DJANGO_EMAIL_HOST_PASSWORD: + secretKeyRef: + name: backend + key: DJANGO_EMAIL_HOST_PASSWORD DJANGO_SILENCED_SYSTEM_CHECKS: security.W008,security.W004 OIDC_OP_JWKS_ENDPOINT: https://auth.agentconnect.gouv.fr/api/v2/jwks OIDC_OP_AUTHORIZATION_ENDPOINT: https://auth.agentconnect.gouv.fr/api/v2/authorize diff --git a/src/helm/env.d/staging/values.desk.yaml.gotmpl b/src/helm/env.d/staging/values.desk.yaml.gotmpl index 08352de92..ef5153e99 100644 --- a/src/helm/env.d/staging/values.desk.yaml.gotmpl +++ b/src/helm/env.d/staging/values.desk.yaml.gotmpl @@ -24,9 +24,18 @@ backend: secretKeyRef: name: backend key: DJANGO_SUPERUSER_PASSWORD - DJANGO_EMAIL_HOST: "snap-mail.numerique.gouv.fr" - DJANGO_EMAIL_PORT: 465 - DJANGO_EMAIL_USE_SSL: True + DJANGO_EMAIL_HOST: "smtp.tem.scw.cloud" + DJANGO_EMAIL_PORT: 587 + DJANGO_EMAIL_USE_TLS: True + DJANGO_EMAIL_FROM: "noreply@regie.beta.numerique.gouv.fr" + DJANGO_EMAIL_HOST_USER: + secretKeyRef: + name: backend + key: DJANGO_EMAIL_HOST_USER + DJANGO_EMAIL_HOST_PASSWORD: + secretKeyRef: + name: backend + key: DJANGO_EMAIL_HOST_PASSWORD DJANGO_SILENCED_SYSTEM_CHECKS: security.W008,security.W004 OIDC_OP_JWKS_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/jwks OIDC_OP_AUTHORIZATION_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/authorize