कुकबुक_फाइल और टेम्प्लेट संसाधन "कुकबुक" पैरामीटर का समर्थन करते हैं जो निर्दिष्ट करता है कि कुकबुक में स्रोत फ़ाइल शामिल है। तब आप एक "कॉमन्स" रसोई की किताब बना सकते हैं, जहाँ वे फाइलें एकल इकाई के रूप में रहती हैं। उदाहरण के लिए:
% cookbooks/commons
cookbooks/commons
|-- files
| `-- default
| `-- master.conf
`-- templates
`-- default
`-- general.conf.erb
मान लीजिए कि आपके पास दो कुकबुक, 1 और thing2 हैं, और वे दोनों इनका उपयोग करते हैं। व्यंजनों हो सकता है:
# 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
हालाँकि, मैं पूछता हूँ कि आपकी कुकबुक में विभिन्न प्रकार की कार्यक्षमता के बीच दोहराव क्यों है? यही है, इस तरह की बात एक कस्टम हल्के संसाधन / प्रदाता के लिए उपयुक्त होगी जिसे आप उपयोग करते हैं?