creating_5_star_community_cookbooks - chef-boneyard/chef-summit-2014 GitHub Wiki

Creating 5 Star Community Cookbooks

Wednesday, Stage, 11:30

  • Convener / Facilitator -
  • Note taker - Aaron Kalin (@martinisoft)

Participants

  • Hans
  • Daniel
  • Adam S
  • Mike

Summary of Discussions

  • Where can I find community cookbooks? Chef Supermarket
  • Can we use Rubocop to improve quality of cookbooks?

What makes a 5 star cookbook?

  • Actively maintained (Responsive owner, not abandoned)
  • Documentation (Accessible, easy to get started, well documented libraries)
  • Uses tools like Rubocop, Cane, Foodcritic, Test-Kitchen to maintain code quality
  • Stable Interface (Does not change often)
  • Versioning (Use Semver)
  • Idempotent (Can be run multiple times with the same result)
  • Can easily setup complicated systems (e.g. ElasticSearch)

Resources

Semantic Versioning

  • Does it translate to Chef?
  • For community cookbooks, how do you properly version dependencies for your cookbook? Should it be permissive?

How can Supermarket tell me it's a good cookbook?

  • Code Metrics
  • Test Coverage?
  • Currently Supermarket shows number of downloads, runs foodcritic now and shows the results
  • A deprecated flag can be set by a maintainer to point to a better cookbook

Why does the community cookbook experience feel like an advanced topic?

  • Hard to get started with some community cookbooks
  • You usually duplicate functionality before using an existing library
⚠️ **GitHub.com Fallback** ⚠️