I am trying to design a solution for managing supermarket cookbook dependencies across multiple custom cookbooks. What i mean by that is if I have 10 custom cookbooks (that all run on the server each chef run) and they all have the line “depends ‘chef-sugar’, ‘~> 3.3’” then when It comes time to change to a new major version I need to update 10 different cookbooks just so that they can use the newer version.
I was thinking a possible solution would be to create a ‘dependency_management_cb’ that tracks all the supermarket cookbooks I use, plus the major version of them. That way all my custom cookbooks can pull in this one cookbook and get the correct major version(s).
Obviously I know there are drawbacks to this approach and success depends heavily upon good tests for my custom cookbooks, so at this point I am trying to weigh the benefits/costs associated with this approach. Any thoughts/suggestions would be appreciated.