Managing chef cookbooks can be a daunting task. At our last meetup that was one of the main questions that came up. At OneHealth, we have build an opinionated workflow that answers many of the following questions:
• How do I create a cookbook? Is there a good template?
• How do you manage dependencies and their versions?
• How do stay up to date on community cookbooks?
• How do you easily contribute back your improvements?
• How do you test the cookbook to ensure your changes do not break production?
• What is the difference between a library and a wrapper cookbook?
• How do I easily test my cookbook on multiple platforms?
• How do you test community cookbooks and ensure you are staying up to do date without breaking your environment?
Time permitting we will cover at least the basics of the following tools: berkshelf, vagrant, guard, foodcritic, rubocop, docker/lxc, travis-ci, jenkins-ci, test kitchen.ci, git, stove, chefspec, minitest, serverspec, bats, vagrant-omnibus, stoplight and any tools you bring up during the discussion!
To get a head start, checkout the fantastic FoodFight Show panel from May 22nd, 2013 about testing in practice and Chef Cookbook Testing by Seth Vargo, June 2013 [video, slides]
See you there!