2015-10-14 5 views
17

私はYesodを使ってウェブアプリケーションを構築していますが、バージョン管理された設定ファイルにこれらの値を保存しないようにするには、環境変数()を介してAPIキーなどの秘密を渡しています。YesodとKeterでアプリの秘密を渡す

SOME_API_KEY=value yesod devel 

私は次のように空の値で、この環境変数で定義された私のconfig/settings.ymlファイルの値を持っている:たとえば、次のように私は、DEVモードで私のアプリを実行し

meetup-api-key: "_env:SOME_API_KEY:" 

Keterを使用して展開するには、yesod keterコマンドを使用してKeterパッケージを構築し、結果ファイルをKeterのincomingディレクトリにドロップします。私は環境変数設定を使用しているので、私のアプリの.keterファイルにはSOME_API_KEYの値(これは意図的です)が含まれていません。

SOME_API_KEYをKeterの内部で実行されているアプリのインスタンスに渡すにはどうすればよいですか?

私は、少なくとも次の三つの理由から、私のketer-config.yamlに値を焼く避けたい:それは、環境変数のアプローチよりも安全である

  1. Keter自身の設定ファイルに直接埋め込まれているため、Keterプロセス全体を停止して再起動することなく秘密情報を変更することはできません。
  2. 環境変数はに転送され、のアプリはすべてKeterによって管理されます。

このシナリオでは、いくつかの「ベストプラクティス」があることを願っています。

答えて

関連する問題