2

在我的knife.rb 中添加秘密文件的正确格式是什么?我已经阅读了文档,但似乎无法正确格式化,或者它可能无法正常工作。

我尝试添加两者:

knife[:secret_file] = "/path/to/data_bag_secret"

secret_file "/path/to/data_bag_secret"

当我使用时,这些似乎都没有加密我的秘密knife data bag create bag key

但是,如果我使用knife data bag create bag key --secret-file /path/to/data_bag_secret它会正确加密。

当我查看https://manage.chef.io上的数据包时,它似乎没有被加密,这就是我认为它没有加密的原因。当我手动通过开关时,它确实在https://manage.chef.io上正确加密。

4

2 回答 2

1

--encrypttl;dr:如果您使用的是 Chef 12+,则另外传入命令行参数标志。例如knife data bag from file foo ./data_bags/foo.json --encrypt

从 Chef 12 开始,您需要在使用命令时传入--encrypt标志,以便在 knife.rb 中设置您的或配置选项。这里的主要问题是厨师文档尚未更新以表明这一点。如果你打电话,你会在那里看到 --encrypt 标志选项的解释。knife data bag [create|from file]knife[secret]knife[secret_fileknife data bag [create|from file] --help

答案来自这里:https ://github.com/chef/chef/issues/3223#issuecomment-93338211 。

于 2016-12-08T16:30:47.090 回答
0

所以这有点奇怪,但--secret-file不会填充自己的配置值。如果您查看https://github.com/chef/chef/blob/master/lib/chef/knife/data_bag_secret_options.rb#L48您会看到它运行的是自定义 proc,它在下面定义。设置knife[:secret_file]应该仍然有效,所有与包加密相关的代码都使用两者。一般来说,您不会data bag create为此使用它,那是用于初始袋子/物品的创建。供一般更新使用data bag from file。还要记住,您需要从配置文件中删除该值才能真正看到加密数据,否则knife data bag show会自动为您解密。

于 2015-12-16T00:31:31.650 回答