我在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"
我相信以上内容会将encrypted_data_bag_secret
复制到/tmp/kitchen/
这就是为什么,在我的食谱中,我称之为秘密如下:
secret = Chef::EncryptedDataBagItem.load_secret("/tmp/kitchen/encrypted_data_bag_secret")
encryptkey = Chef::EncryptedDataBagItem.load("tokens", "encryptkey", secret)
然而,测试厨房失败并出现以下错误:
No such file or directory - file not found '/tmp/kitchen/encrypted_data_bag_secret'
答案 0 :(得分:2)
通常,您可能不希望在测试中使用加密数据包。如果您确实想要出于某种原因使用加密(实际上,请不要)使用正常的data_bag_item()
API来为您执行密钥加载。