I’m happy to announce our next minor release of Berkshelf (1.1.0) which has a number of new commands, improvements to existing functionality, and some bug fixes. The Community Did Most of The Work release.
A big thanks goes out to Seth Vargo (https://github.com/sethvargo) who is now the biggest contributor outside of Riot Games to the Berkshelf project! Below are the highlights:
berks show (#219 (https://github.com/RiotGames/berkshelf/pull/219))
display the file path for the given cookbook’s current version resolved by your Berksfile
berks list (#234 (https://github.com/RiotGames/berkshelf/pull/234))
list all of the cookbooks and their versions that are installed by resolving your Berksfile
berks outdated (#252 (https://github.com/RiotGames/berkshelf/pull/252)) [beta]
show any cookbooks which have newer versions that are installed by resolving your Berksfile
this command is functional, but not exactly where we want it to be. It currently will only notify you of cookbooks which have updates on the Opscode community site. There are external limitations which prevent us from extending this to other sources in it’s current state
berks open (#254 (https://github.com/RiotGames/berkshelf/pull/254)) [alpha]
berks show except used to open the cookbook in your configured editor
alpha: use at your own risk
now takes an optional cookbook name, or names, which will upload the target cookbook(s) to the Chef Server
now takes an optional cookbook name, or names, which will update the target cookbook(s) in the Berksfile.lock
Bug fixes / Improvements:
Improved error output in Vagrant plugin (#244 (https://github.com/RiotGames/berkshelf/pull/244))
Stack traces will now be replaced by friendly error messages where possible
Fix init generator on Ruby 1.9.2 (#245 (https://github.com/RiotGames/berkshelf/pull/245))
Honor ‘chefignore’ when vendoring cookbooks (#248 (https://github.com/RiotGames/berkshelf/pull/256))
this will ensure that you aren’t putting junk files into your cookbooks if your distributing them for use with Chef-Solo
A full listing of all changes can be found on the Github compare view (https://github.com/RiotGames/berkshelf/compare/v1.0.4…v1.1.0)
A bit about Berkshelf
Berkshelf is a dependency resolver for your cookbooks. It allows you to treat your cookbooks like you treat your gems. Berkshelf encourages and allows you to develop your cookbooks in isolation with tight integration into Vagrant by a Vagrant plugin. The Berkshelf Vagrant plugin recursively resolves your cookbook dependencies and provides them, and your cookbook, to a virtual machine on your laptop or desktop.
Using Berkshelf with Vagrant you will reduce the time between iterations and increase the quality of your cookbooks by developing in isolation. This is a pre-requisite towards automated testing and continuous integration for cookbooks. With Berkshelf we can, as a community, increase the quality of our community cookbooks as our supported platform base and sheer number of cookbooks grow.
Check out http://berkshelf.com for more detailed information and my unfinished guide on authoring a cookbook (http://vialstudios.com/guide-authoring-cookbooks.html) for a deeper example of “The Riot Way” of developing cookbooks.
And a big thank you to all of our contributors (https://github.com/RiotGames/berkshelf/graphs/contributors) and testers!