使用主机的环境变量作为主厨属性(vagrant) - 如何管理密码?

时间:2012-12-28 21:28:30

标签: ruby chef 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。我可以在属性文件中访问主机的环境吗?

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

1 个答案:

答案 0 :(得分:2)

执行此操作的最佳方法是使用加密的数据库。

基本上,您将值存储在Chef服务器上,并使用密钥加密。您将此密钥提供给需要值的节点,他们可以下载和解密值,获取密码。这不仅可以防止检查纯文本密码,还可以确保密码在线路上加密。

详细了解:http://wiki.opscode.com/display/chef/Encrypted+Data+Bags