シェフと秘密をどのようにして管理するのが信頼性が高く予測可能なのか不明です。シェフとの秘密の管理
私が試みたのは、秘密を管理しているすべての料理本に依存する別の料理本にすべての秘密の論理を置くことでした。
私はそう思っていました。秘密は一箇所で一貫性のある方法で処理できました。もう一つの利点は、私は既存の料理本を変更する必要がないということです。
この秘密の料理本は、暗号化されたデータバッグから秘密を取り出し、それを使ってパスワード/秘密属性を設定しています。秘密がChefサーバーにアップロードされないように、アップロードしたくないすべての属性をブラックリストに載せます。
いくつかの料理本では、これには効果がありますが、他の結果では実際には予測できなくなります。私は今、それはそれについて行く方法ではないと確信している点に。これを行うための推奨される方法は何ですか?私は既存の料理本を変更したくありません。例えばので
秘密に属性['mariadb']['server_root_password']
を回し、それが暗号化されたデータバッグから値です取得するための最良の方法は何
execute 'change first install root password' do
# Add sensitive true when foodcritiC#233 fixed
command '/usr/bin/mysqladmin -u root password \'' + \
node['mariadb']['server_root_password'] + '\''
action :nothing
not_if { node['mariadb']['server_root_password_2'].empty? }
end
のようなものを持つ料理がある場合は?私は料理本を変更したくないので、パスワードをサーバーにアップロードしたくない。
更新
私は問題がブラックリストに属性がシェフの実行中に使用できなくさせるblacklist_node_attrs
のバグの結果であると思います。
しかし、秘密と組み合わせて属性のアプローチ全体がシェフではほとんど開発されていないようです。それは素晴らしいです。
秘密を管理したい場合は、既存の料理本を変更する必要があります。アトリビュートファイルとレシピファイルでcookbookアトリビュートを試すと、結果がランダムであることがわかります。状況によってはうまくいくこともあれば、そうでないものもあります。
これは私がhttps://coderanger.net/chef-secrets/と思う投稿です。それは私の質問に対する明確な徹底的な答えです。 – onknows
また、そこにリンクされている話題をチェックしてください。数年前にはさらに最新のものです。シェフとhashcorpボールトを使用する方法についてもう少し最近の記事がありますが、これは単なる提案です。乞うご期待? – coderanger