Cookbook_file dan sumber daya templat mendukung parameter "buku masak" yang menentukan buku masak mana yang berisi file sumber. Kemudian Anda bisa membuat buku masak "commons" tempat file-file itu hidup sebagai satu kesatuan. Sebagai contoh:
% cookbooks/commons
cookbooks/commons
|-- files
| `-- default
| `-- master.conf
`-- templates
`-- default
`-- general.conf.erb
Misalkan Anda memiliki dua buku masak, thing1 dan thing2, dan keduanya menggunakan ini. Resepnya mungkin:
# thing1/recipes/default.rb
cookbook_file "/etc/thing1/master.conf" do
source "master.conf"
cookbook "commons"
end
template "/etc/thing1/general.conf" do
source "general.conf.erb"
cookbook "commons"
end
# thing2/recipes/default.rb
cookbook_file "/etc/thing2/like_master_but_different.conf" do
source "master.conf"
cookbook "commons"
end
template "/etc/thing2/not_as_general_as_you_think.conf" do
source "general.conf.erb"
cookbook "commons"
end
Namun, saya akan bertanya mengapa Anda memiliki duplikasi antara berbagai jenis fungsi di buku masak Anda? Yaitu, apakah hal semacam ini cocok untuk sumber daya ringan / penyedia kustom yang Anda gunakan?