私は資源の一つでこれを持っている:私のテンプレートの一つは、物事が含まれている場合シェフ - リソースの更新を破ることなくbcryptハッシュを含むテンプレートを作成するにはどうすればいいですか?
service 'my_service' do
...
end
template config_file do
source new_resource.template_file
variables({
config: node[:a][:b][:c][:configs][new_resource.name]
})
notifies :restart, "service[my_service]"
end
問題は、bcryptのパスワードとして生じる:
...
passhash = <%=
require 'bcrypt'
::BCrypt::Password::create(@config[:password])
%>
これは、テンプレートリソースを更新するようになります、毎回シェフの勤務ごとにサービスが再開されます。
実行ごとに異なるハッシュが生成されないようにするにはどうすればよいですか?
レシピに外ハッシュを生成しているようだ汚い、通常の属性にそれを保存...
に消えているようですと塩。また、同一の入力を与えられれば、同じ出力が得られるはずです。 ':: BCrypt :: Password :: create'にsaltを与える方法はありますか? –
残念ながら、いいえ。塩は乱数のセットのようには見えませんが、特殊な方法で、いくつかのC拡張で生成されます。理論的には、塩生成器には同じ一連のランダムストリームが供給される可能性がありますが、それは公開されていません。 –