在 Chef 数据包中存储主令牌

Storing master token in Chef data bag

我正在使用如下执行资源在 Chef 中生成主令牌:

execute "extract_consul_key" do
  command "consul keygen "
end

我想将此命令的输出存储在数据包中。
请让我知道我需要哪些步骤来设置加密数据包,然后将上述执行资源的输出存储到该数据包中。
我是数据包的新手,对此一无所知。

execute,与所有 Chef 资源一样,实际上并没有 "output values"。您可能想要降低一个级别并使用 Ruby 块内的 shell_out! API。我还要郑重声明,从数据完整性 PoV(Chef API 没有锁定或部分更新的概念)以及安全性(尽管您可以减少这个问题与非常小心的 ACL 使用有关,但这是一个完全不同的挫折球)。

如果您是 Chef 的新手,并且听起来您是新手,请不要这样做。 运行 手写一次命令,然后自己给数据包加值