Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generate a file from a string without having to create a template file in Chef?

Tags:

chef-infra

I currently use this code in a recipe:

template "/var/django/.ssh/id_rsa" do
    source "id_rsa.erb"
    owner "django"
    group "django"
    variables :key => ssh_key
    mode 00600
end

And here's what id_rsa.erb looks like:

<%= @key %>

I was wondering if I could avoid having a template, and simply produce the file from the string. Something like this perhaps:

file_from_string "/var/django/.ssh/id_rsa" do
    source ssh_key
    owner "django"
    group "django"
    mode 00600
end
like image 659
MiniQuark Avatar asked Mar 08 '13 11:03

MiniQuark


1 Answers

Use the file resource and specify the file contents to the content property.

In your case, this would result in a resource definition similar to this:

file "/var/django/.ssh/id_rsa" do
  content ssh_key
  owner "django"
  group "django"
  mode 00600
end
like image 165
StephenKing Avatar answered Oct 14 '22 06:10

StephenKing