Transférer les configurations "runtime" de sesam-vitale du dossier local vers un dossier de config système #55

Closed
opened 2024-08-21 10:33:51 +02:00 by florian_briand · 0 comments

Le .env local est très pratique en dev, car on peut avoir le fichier de config (qui point vers le .ini de sesam-vitale, par exemple) à côté du code.
Mais ce fonctionnement implique, aujourd'hui, qu'on s'appuie sur le CARGO_MANIFEST_DIR qui est une variable qui n'est définie que quand on exécute le programme en dev.

Le mécanisme n'est donc pas fonctionnel quand on build un binaire.

L'idéal serait de configurer l'usage d'un fichier de configuration (ça peut être un .env) qui serait dans un emplacement système standard pour les fichiers de config. Les OS fournissent généralement des variables d'environnement ou des fonctions permettant de gérer de tels emplacements de config.

Je suggère qu'on mette en place une "cascade" de configuration, avec un fichier de config système surchargeable par un .env local (pour faciliter le bidouillage en dev).

Note : si ça parait plus approprié d'avoir un format complexe (.ini, .yaml), let's go.

Le `.env` local est très pratique en dev, car on peut avoir le fichier de config (qui point vers le .ini de sesam-vitale, par exemple) à côté du code. Mais ce fonctionnement implique, aujourd'hui, qu'on s'appuie sur le `CARGO_MANIFEST_DIR` qui est une variable qui n'est définie que quand on exécute le programme en `dev`. Le mécanisme n'est donc pas fonctionnel quand on build un binaire. L'idéal serait de configurer l'usage d'un fichier de configuration (ça peut être un `.env`) qui serait dans un emplacement système standard pour les fichiers de config. Les OS fournissent généralement des variables d'environnement ou des fonctions permettant de gérer de tels emplacements de config. Je suggère qu'on mette en place une "cascade" de configuration, avec un fichier de config système surchargeable par un `.env` local (pour faciliter le bidouillage en dev). Note : si ça parait plus approprié d'avoir un format complexe (.ini, .yaml), let's go.
florian_briand added the
bug
enhancement
labels 2024-08-21 10:33:51 +02:00
florian_briand added this to the 0 - POC project 2024-08-21 10:33:51 +02:00
florian_briand self-assigned this 2024-08-21 11:30:01 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: P4Pillon/Krys4lide#55
No description provided.