Los recursos de plantilla y archivo de libro de cocina admiten un parámetro de "libro de cocina" que especifica qué libro de cocina contiene el archivo fuente. Luego, podría crear un libro de cocina "commons" donde esos archivos viven como una sola entidad. Por ejemplo:
% cookbooks/commons
cookbooks/commons
|-- files
| `-- default
| `-- master.conf
`-- templates
`-- default
`-- general.conf.erb
Supongamos que tiene dos libros de cocina, thing1 y thing2, y ambos los usan. Las recetas pueden ser:
# 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
Sin embargo, me preguntaría por qué tiene duplicación entre diferentes tipos de funcionalidad en sus libros de cocina. Es decir, ¿sería este tipo de cosas adecuado para un recurso / proveedor ligero personalizado que utiliza?