creating_5_star_community_cookbooks - chef-boneyard/chef-summit-2014 GitHub Wiki
Wednesday, Stage, 11:30
- Convener / Facilitator -
- Note taker - Aaron Kalin (@martinisoft)
- Hans
- Daniel
- Adam S
- Mike
- Where can I find community cookbooks? Chef Supermarket
- Can we use Rubocop to improve quality of cookbooks?
- 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)
- Supermarket Governance is the Seattle summit discussion about namespacing, code quality, etc.
- Managing Community Cookbooks with a Busy Schedule is another discussion about tools and patterns emerging for more community-friendly, reusable cookbooks
- MySQL cookbook is a good example of an emerging pattern using libraries and resources
- httpd cookbook is also a good example of reusable resources
- Facebook has started using large hash attributes for templating configuration files, check out their open sourced cookbooks under https://github.com/facebook
- Does it translate to Chef?
- For community cookbooks, how do you properly version dependencies for your cookbook? Should it be permissive?
- 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
- Hard to get started with some community cookbooks
- You usually duplicate functionality before using an existing library