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 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
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 railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .

Répondre à