I am fairly new to ruby and chef, I wanted to know if there is a way to create a file using a template? I tried searching about it but couldn't find much stuff. Am try to create a blacklist file and insert some regex into it via chef. So I wanted to add the attributes and use a template.erb
to create the file while running chef. Any hints, pointers?
Chef has special resource named template, to create files from templates. You need to put your template inside cookbook under templates/default directory and then use it in your recipe, providing the variables.
cookbooks/my_cookbook/templates/default/template.erb :
# template.erb
A is: <%= @a %>
B is: <%= @b %>
C is: <%= @c %>
cookbooks/my_cookbook/recipes/default.rb :
template "/tmp/config.conf" do
source "template.erb"
variables( :a => 'Hello', :b => 'World', :c => 'Ololo' )
end