在主机上,我有点像:
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
。我可以在属性文件中访问主机的环境吗?
更广泛地说,在大厨中定义用户/密码而不在任何地方检查密码的首选方法是什么?
答案 0 :(得分:2)
执行此操作的最佳方法是使用加密的数据库。
基本上,您将值存储在Chef服务器上,并使用密钥加密。您将此密钥提供给需要值的节点,他们可以下载和解密值,获取密码。这不仅可以防止检查纯文本密码,还可以确保密码在线路上加密。
详细了解:http://wiki.opscode.com/display/chef/Encrypted+Data+Bags