Yemek kitabı_dosyası ve şablon kaynakları, hangi yemek kitabının kaynak dosyayı içerdiğini belirten bir "yemek kitabı" parametresini destekler. Ardından, bu dosyaların tek bir varlık olarak yaşadığı bir "ortak" yemek kitabı oluşturabilirsiniz. Örneğin:
% cookbooks/commons
cookbooks/commons
|-- files
| `-- default
| `-- master.conf
`-- templates
`-- default
`-- general.conf.erb
Diyelim ki iki yemek kitabınız var, şey1 ve şey2, ve her ikisi de bunları kullanıyor. Tarifler şunlar olabilir:
# 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
Ancak, neden yemek kitaplarınızdaki farklı işlevsellik türleri arasında çoğaltma yaptığınızı sorarım? Yani, bu tür şeyler kullandığınız özel bir hafif kaynak / sağlayıcı için uygun olur mu?