从字符串生成文件而不必在Chef中创建模板文件?

时间:2013-03-08 11:08:57

标签: chef

我目前在配方中使用此代码:

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

这就是id_rsa.erb的样子:

<%= @key %>

我想知道我是否可以避免使用模板,只是从字符串中生成文件。也许是这样的事情:

file_from_string "/var/django/.ssh/id_rsa" do
    source ssh_key
    owner "django"
    group "django"
    mode 00600
end

1 个答案:

答案 0 :(得分:50)

使用file资源并将文件内容指定为content属性。

在您的情况下,这将导致类似于此的资源定义:

file "/var/django/.ssh/id_rsa" do
  content ssh_key
  owner "django"
  group "django"
  mode 00600
end