2013-03-08 16 views
16

Obecnie używać tego kodu w recepturze:Generowanie pliku z łańcucha bez konieczności tworzenia pliku szablonu w Chef?

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

A oto co id_rsa.erb wygląda następująco:

<%= @key %> 

Zastanawiałem się, czy mogę uniknąć szablon i po prostu produkować plik z ciągu. Coś takiego może:

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

Odpowiedz

45

Użyj zasób file i określić zawartość pliku do nieruchomości content.

W twoim przypadku, będzie to skutkować definicji zasobów podobny do tego:

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

OMG, spojrzałem na zasób plików, ale brakowało mi tego. Dzięki! – MiniQuark

+5

Można oznaczyć tę odpowiedź jako poprawną :-) Thx – StephenKing

Powiązane problemy