Olivier, juste pour rebondir sur le passage de variables d'environnements à un processus sans hijacker .bashrc, il y a l'utilitaire Unix chpst(8) (et notamment son option -e).
2014-09-23 14:06 GMT+02:00 Olivier El Mekki <[email protected]>: > Hello, > > J'ai rencontré le même problème, avec les contraintes suivantes : > > * l'application doit être exécutée par un utilisateur dédié > * les variables d'environment doivent être accesibles via cron > * elle doivent être accessible par god (démarré en ssh interactif) > * elle doivent être accessible par capistrano (utilisant un ssh non > interactif) > > Pour résoudre cela, j'ai créé un fichier `~/.environment` sur le serveur > et il est sourcé dans `~/.bashrc` (avant le test sur l'interactivité du > terminal pour les fichiers dont les distrib en ajoute un par défaut). > > Mes tâches cron sont exécutées via `/bin/bash -le "<task>"` (whenever > s'en occupe). > > J'utilise ensuite directement les `ENV['something']` où j'en ai besoin, > sans passer par secrets.yml. > > En bonus, tes dévs te remercieront si tu ajoutes cette recipe > capistrano: > > > desc 'Display server environment variables' > task :env do > run "cat ~/.environment" > end > > À noter que god est problématique, dans ce cas : il faut entièrement le > redémarrer > (et donc tout ce qu'il monitor) si veux changer une variable d'ENV. > > > On Tuesday, September 23, 2014 1:53:56 PM UTC+2, Matthew Nguyen wrote: >> >> Bonjour tout le monde, >> >> J'ai une question de best practice a propos de secrets.yml. >> Jusqu'a maintenant, je mettais mon secrets.yml dans le .gitignore, je >> l'ajoutais via un script personnalise dans le shared avec capistrano et ca >> marchait bien. >> >> Puis je suis tombe sur la discussion https://github.com/ >> rails/rails/pull/13388 >> >> TL;PL secrets.yml n'est pas cense etre dans le .gitignore et il faut >> utiliser ENV. >> >> Je n'ai trouve nulle part comment utiliser ENV avec capistrano... >> Je vois bien en local comment faire (MY_SECRET_KEY=xxxx bin/rails server >> -e production) mais comment est-on cense faire en remote ? >> >> Je vois quelques articles qui proposent de creer un fichier .env qui >> stocke les secrets. Mais dans ce cas, pourquoi ne pas directement utiliser >> secrets.yml ? Quelle est la difference ? >> Comment faites-vous ? >> >> Cordialement, >> Matthew >> > -- > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] > --- > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > "Railsfrance". > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > concernant, envoyez un e-mail à l'adresse > [email protected]. > Pour obtenir davantage d'options, consultez la page > https://groups.google.com/d/optout. > -- Michael Baudino @michaelbaudino +33 (0) 7.61.90.93.62 Alpine Lab 1 rue de la Martinière 69001 Lyon -- -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/d/optout .
