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 plus d'options, visitez le site https://groups.google.com/d/optout .