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
application
cookbook:mma@laptop:~/chef-repo...