2

我正在尝试使用 Vagrant 和 Chef 来测试加密的数据包。我使用创建了一个加密数据包

knife solo data bag create test test_service --data-bag-path ../../data_bags/ --secret-file ~/.chef/encrypted_data_bag_secret

并验证项目已创建。

在我的 Vagrant 文件中添加了 data_bag 和加密密钥路径

config.vm.provision :chef_solo do |chef| chef.log_level = :debug chef.data_bags_path = "../../data_bags" chef.encrypted_data_bag_secret_key_path = '~/.chef/encrypted_data_bag_secret'

配方包含

secret_key = Chef::EncryptedDataBagItem.load_secret("C:\\tmp\\vagrant-chef-3\\encrypted_data_bag_secret_key") usr_creds = chef::EncryptedDataBagItem.load("test","test_service", secret_key)

当 Vagrant 运行时,它会加载加密的密钥

==> default: Running provisioner: chef_solo... Uploading chef encrypted data bag secret key...

但抛出错误

参数错误

声明厨师资源时必须提供名称

在 Vagrant 框中,我可以看到 Vagrant 创建了 2 个目录 C:\tmp\vagrant-chef-3\chef-solo-1\cookbooks C:\tmp\vagrant-chef-3\chef-solo-2\data_bags

在 Vagrant 框的 solo.rb 中,C:\tmp\vagrant-chef-3\solo.rb有一个食谱和加密密钥的设置,但没有数据包的位置

经过反复试验,Chef 似乎无法找到数据包的位置。我在某处遗漏了什么吗?

4

0 回答 0