Development #6196
Gestion uniforme des settings
0%
Description
Il faut gérer les settings comme nos autres applications.
Historique
Mis à jour par Frédéric Péters il y a plus de 9 ans
D'une récente conversation avec Thomas, je notais trois points :
- séparer les settings qui sont communes tenant ou pas.
- faire un execfile() plutôt qu'un import
- que le chemin du "local_settings" puisse être overridé par une variable d'environnement
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Statut changé de Nouveau à Résolu (à déployer)
J'ai poussé une version minimaliste de ces idées; toujours dans une branche de travail, ça reste ouvert à discussion.
commit ba1972dad6f8416d9987e7957e6249d99c762629 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Dec 30 10:57:01 2014 +0100 settings: load multitenant settings if MULTITENANT=yes is set commit 8bdf39b5aafd7ed2ef06f0d71fca089650e90895 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Dec 30 10:54:09 2014 +0100 settings: isolate default settings, load local_settings.py from env (#6196)
Mis à jour par Thomas Noël il y a plus de 9 ans
Je me pose finalement la question de l'intérêt d'avoir un truc qui parle de tenant dans le projet. Je pense que c'est inutile.
On réglera le multitenant dans l'empaquetage Debian. On y proposera un local_settings.py qui passera en mode tenant, et qui lui-même fera un execfile de /etc/combo/config.py pour les réglages globaux à l'hôte (chaque tenant ayant ensuite son config.py propre). Et on devrait pouvoir adoptera la même technique d'empaquetage pour tous nos logiciels Django "SaaS".
Mis à jour par Frédéric Péters il y a plus de 9 ans
Je suis assez d'accord, j'ai d'ailleurs divisé l'affaire en deux commits sur cette idée. Dans la continuité, je me dis que ce qui est aujourd'hui dans le settings du multitenant, c'est-à-dire surtout ajouter des "entrouvert.djommon.multitenant..." à divers endroits, ça pourrait exister comme fichier dans python-entrouvert, plutôt qu'être répété dans les fichiers de configuration.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Statut changé de Résolu (à déployer) à En cours
Autre chose, dans un chargement qui fait settings.py → execfile('/etc/.../config.py') → execfile('/usr/share/.../multitenant_settings.py'), je ne vois plus vraiment l'utilité du default_settings.py; j'en viendrais donc à réduire le patch pour qu'il soit simplement un appel à execfile() en bas d'un settings.py classique.
Mis à jour par Thomas Noël il y a plus de 9 ans
Yep, d'accord avec ces deux derniers commentaires.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Statut changé de En cours à Résolu (à déployer)
J'ai repoussé la branche wip/start, il n'y reste plus qu'un commit qui ajoute un execfile() au settings.py.
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Statut changé de Résolu (à déployer) à Solution déployée