Ruby 使用主机&x27;s环境变量作为厨师属性(vagrant)-如何管理密码?

Ruby 使用主机&x27;s环境变量作为厨师属性(vagrant)-如何管理密码?,ruby,chef-infra,vagrant,Ruby,Chef Infra,Vagrant,在主机上,我有如下内容: export SOME_USER=foo export SOME_PASSWORD=password 我想将主机的一些环境变量转换为attributes/default.rb中的属性: user = ENV["SOME_USER"] password = ENV["SOME_PASSWORD"] node.default["some"]["url"] = "http://#{user}:#{password} ..." 但是,ENV这是来宾操作系统的ENV。我可以在

在主机上,我有如下内容:

export SOME_USER=foo
export SOME_PASSWORD=password
我想将主机的一些环境变量转换为attributes/default.rb中的属性:

user = ENV["SOME_USER"]
password = ENV["SOME_PASSWORD"]
node.default["some"]["url"] = "http://#{user}:#{password} ..."
但是,
ENV
这是来宾操作系统的
ENV
。我可以在属性文件中访问主机的环境吗


更广泛地说,在chef中定义用户/密码而不在任何地方检查密码的首选方法是什么?

最好的方法是使用加密的数据包

基本上,您将值存储在chef服务器上,并使用密钥加密。您将此密钥提供给需要值的节点,它们可以下载并解密值,获得密码。这不仅可以防止签入纯文本密码,而且还可以确保密码在网络上被加密


了解更多信息:

我不喜欢这个解决方案,也不再使用chef ATM。但是,看起来这应该是一条路。。时速。。。