Extending community cookbooks by using application wrapper cookbooks
Using community cookbooks is great. However, sometimes they do not exactly match your use case. You may need to modify them. If you don't want to use Git vendor branches that are generated by knife cookbook site install, you'll need to use the library versus application cookbook approach.
In this approach, you don't touch the community (library) cookbook. Instead, you include it in your own application cookbook and modify resources from the library cookbook.
Let's see how to extend a community cookbook with your own application cookbook.
Getting ready
We'll use the ntp cookbook as the library cookbook and will change a command it executes.
Add the ntp cookbook to your Berksfile:
mma@laptop:~/chef-repo $ subl Berksfile source 'https://supermarket.chef.io' cookbook 'ntp'
How to do it…
Let's see how we can override the ntp cookbook's behavior from within our own cookbook:
Create your own
applicationcookbook:mma@laptop:~/chef-repo...