我在Chef中使用加密数据包,我想在Chef菜谱中添加一个条件,如下所示:
If (test kitchen) then
encryptkey = data_bag_item("tokens", "encryptkey")
If ( not test kitchen ) then
secret = Chef::EncryptedDataBagItem.load_secret("/etc/chef/encrypted_data_bag_secret")
encryptkey = Chef::EncryptedDataBagItem.load("tokens", "encryptkey", secret)
我在data_bags_path
中添加了encrypted_data_bag_secret_key_path
和kitchen.yml
,内容如下:
provisioner:
name: chef_zero
chef_omnibus_url: omni-url/chef/install.sh
roles_path: 'test/integration/default/roles'
data_bags_path: "test/integration/default/data_bags"
encrypted_data_bag_secret_key_path: "test/integration/default/encrypted_data_bag_secret"
答案 0 :(得分:2)
使用kitchen.yaml中的属性。
if node['kitchen'] == 'true'
#something
else
#else
end
在你的食谱中,如果条件使用node ['chef-mode']的值。
{{1}}
答案 1 :(得分:0)
只需使用data_bag_item("tokens", "encryptkey")
即可。它将自动为您解密。