feat(web03): mail config for pole #804
No reviewers
Labels
No labels
awaiting
awaiting-author
awaiting
awaiting-reviewer
bot
deployed
Silenced alert
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
DGNum/infrastructure!804
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "pole-mail"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
feat(web03): mail config for poleto WIP: feat(web03): mail config for poleà travailler avec aandres/poleSubscribe#6
@ -44,6 +44,7 @@ python3.pkgs.buildPythonApplication rec {django-extensionsdjango-modeltranslationdj-database-urlloadcredentialrepris de vector mais peut-être à ne pas utiliser étant donné la config déjà présente pour la secret key django
Tu utilises mon truc (
SecretFileValue) dans ton fichiersettings.py, ducoup tu n'as pas besoin deloadcredential(c'est un wrapper créé par Tom pour load des credentials avec le système de SystemD https://systemd.io/CREDENTIALS/)@ -41,2 +44,4 @@] (name: config.age.secrets."polesubcribe-${toLower name}_file".path);environment = {DJANGO_SECRET_KEY_FILE = "%d/django_secret";La SECRET_KEY semble être déjà gérée ici donc il y a deux fonctionnements différents si je garde les lignes dessus
Il faut défitivement faire commme la ligne
DJANGO_SECRET_KEY_FILE:loadcredentialdans ton code python, ce qui ~requiert de ne pas utiliserdjango_configurations(en tout cas à chaque fois que Tom l'utilise, il n'utilise pasdjango_configurations),loadcredentialva savoir lire directement dans le dossier de credentials (dicté par l'envars$CREDENTIALS_DIRECTORYcf. https://systemd.io/CREDENTIALS/) le bon fichier et ducoup tu n'as juste qu'à bien mettre les mappings que tu veux dansLoadCredential(ici avec le wrapper DGNum)SecretValueFileet doncdjango_configurations, il faut un envar, par exemple pourEMAIL_HOST_PASSWORD = SecretFileValue():DJANGO_EMAIL_HOST_PASSWORD=<le secret>DJANGO_EMAIL_HOST_PASSWORD_FILE=<le chemin vers le fichier contenant le secret>Tu peux aussi modifier le préfixe/l'envar exactement comme avec
values.Value(puisqueSecretValueFileest un wrapper autour devalues.Value)Donc, par exemple ici avec
DJANGO_SECRET_KEY_FILE, ça pointe vers%d/django_secretqui va être remplacé par systemd par/run/credentials/polesubscribe.service/django_secret(cf. le lien précédent sur les crédentials dans systemd): donc ça veut aussi dire qu'il faut charger le secret grâce àLoadCredentialpour que ce fichier existe.Tu peux éviter de charge le secret avec
LoadCredential(pas dans l'infra de la DGNum hein), en pointant directementDJANGO_SECRET_KEY_FILEversconfig.age.secrets."polesubscribe-django_secret_file".path, mais il ne faut pas oublier de mettre des groupes supplémentaires (avecSupplementaryGroups) pour que l'unit Systemd puisse correctement lire le fichier.@ -41,0 +41,4 @@credentials = genAttrs ["SECRET_KEY""EMAIL_HOST_PASSWORD"] (name: config.age.secrets."polesubcribe-${toLower name}_file".path);J'imagine qu'un fichier soit être créé qque part pour que cette ligne fonctionne
Exactement dans
machines/nixos/web03/secrets:secrets.nixpour dclarer le secretagenix -e nomdufichier@ -58,6 +63,12 @@ in"alice+polesubscribe@dgnum.eu"]];POLE_EMAIL_HOST = "kurisu.lahfa.xyz";noms et contenus des variables repris de la config vector
@ -59,2 +64,4 @@]];POLE_EMAIL_HOST = "kurisu.lahfa.xyz";POLE_EMAIL_HOST_USER = "web-services@infra.dgnum.eu";Vu que c'est un service non-DGNum, je ne sais pas si on utilise cet email par contre? mais sinon ok
On peut créer un nouvel email oui mais perso j'ai pas de pb à utiliser cet email pour tous les services qu'on héberge
7a674131451c7c7bc985WIP: feat(web03): mail config for poleto feat(web03): mail config for pole75ababb7b6af0e120dacaf0e120dac5a790172a45a790172a4d3fb654922d3fb6549225dcda1a262