私は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
に値を焼く避けたい:それは、環境変数のアプローチよりも安全である
- 。
- Keter自身の設定ファイルに直接埋め込まれているため、Keterプロセス全体を停止して再起動することなく秘密情報を変更することはできません。
- 環境変数はに転送され、のアプリはすべてKeterによって管理されます。
このシナリオでは、いくつかの「ベストプラクティス」があることを願っています。