Chef Development Workflow Survey Results


Thank you to everyone who participated!

Here are the results:


Chef isn’t prescriptive in terms of workflow, thus allowing different
people to do it the way that works best for them.

Given the following published workflow styles on the wiki:

Which one works best for you?

I will post the results to the Chef mailing list.



Total Participants: 53

Combined chef / cookbook repo 9.4% 5
One git repository containing all cookbooks 18.9% 10
One git repository per cookbook 7.5% 4
Cookbooks as git sub-modules 5.7% 3
Librarian 24.5% 13
Berkshelf 34.0% 18

6 people added extra optional comments:

Answer: Librarian
We’re re-tooling to go from "One Git repository containing all cookbooks"
to using Librarian / one-Git-repository-per-cookbook. As the number of Chef
users within our organization increases, we are finding that people are
mixing-and-matching community and internally-developed cookbooks … and
that lots of people are contributing changes to our single repo body of
many internal cookbooks. That’s a lot of pull requests to manage, since
they all have to be tested on four different platforms. Our testing
framework is similar to test-kitchen, but implemented somewhat differently.
We think that switching both the test framework and repositories to using
Librarian should address our problems – pull requests will be scoped
against individual cookbooks and we won’t need to test quite so many things
at once in a particular test pass. I spend a lot of time thinking/worrying
about Chef workflow. :wink: Hope this helps.

Answer: One git repository containing all cookbooks
(though I haven’t tried librarian or berkshelf yet)

Answer: One git repository per cookbook
Mostly using Spiceweasel, occasionally Librarian but plan on checking out
Berkshelf. Supposedly Spiceweasel is supposed to add support for Librarian
and Berkshelf

Answer: Berkshelf
berks ftw

Answer: One git repository per cookbook
Well, one git repository per cookbook (which may be a fork of a community
cookbook), managed by librarian within the chef-repo.

Answer: One git repository per cookbook

  • One git repository per potentially reusable cookbook * One git repository
    containing all cookbooks with the “potentially reusable cookbook” merged in
    via braid

I hope this helps someone looking for their own workflow.