我正在学习厨师。
我有这个食谱:
chef_gem 'chef-vault' do
compile_time true if respond_to?(:compile_time)
end
require 'chef-vault'
vault = ChefVault::Item.load("vault01", "vaultitem1")
log 'DEBUG' do
message vault['myuser']
level :info
end
directory 'c:/blah'
template 'c:/blah/template.txt' do
source 'template.txt.erb'
end
您可以看到我从配方中的保险库中获取价值。
我应该如何将这些值插入我的模板文件?
有没有办法可以从我的template.txt.erb中获取保险库vaules?
答案 0 :(得分:1)
使用variables
属性。您传递一个哈希值,然后这些键可用作模板中的变量:
template 'c:/blah/template.txt' do
source 'template.txt.erb'
variables vault: ChefVault::Item.load("vault01", "vaultitem1")
end
# and then in the template
<%= @vault['foo'] %>
另请查看chef-vault cookbook(与chef-vault gem不同),它有一个很好的chef_vault_item()
帮助器,可以让测试更轻松。