- From: Jamie Winsor <
- Subject: [chef] Berkshelf 1.0.0 released
- Date: Mon, 12 Nov 2012 15:19:22 -0800
I am pleased to announce the very first milestone release of Berkshelf (1.0.0). The It Works On Windows release.
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.
What's new in this release?
- Easier installation by dropping Gecode requirement
- Thanks to the co-efforts of Andrew Garson a pure Ruby dependency resolver (Solve) was created to replace the requirement on Gecode. No longer do you need to install Gecode from source or find a pre-built package for your OS.
- Windows support by dropping Gecode requirement
- Dropping Gecode also meant that we could begin working on our Windows support. I am pleased to announce that Berkshelf has been working well for our Windows developers here at Riot Games and thanks to some awesome individuals in the community we were able to smash some of our Windows filesystem bugs.
- Vagrant plugin for a seamless iteration process
- While we encouraged the use of Vagrant in the previous releases of Berkshelf - there were still some pain points. The biggest change here is that the `--shims` flag has been removed and replaced by `--path`. The `--path` flag is now used for vendoring your cookbooks to a specific directory (useful if you want to distribute these for use with Chef Solo, for example) but not required at all to get your cookbooks into Vagrant. By adding 'require "berkshelf/vagrant"' at the top of your Vagrantfile the Berksfile in your current working directory will resolved, installed, and all cookbooks will be given to the Vagrant chef_solo provisioner. If you prefer the chef_client provisioner these cookbooks will instead be uploaded to your configured Chef Server.
- Berkshelf has it's own configuration file
- In previous releases the `-c (--config)` flag would take a Knife configuration as it's argument and the Chef server configuration information found there would be used for uploading or installing in and out of a Chef Server. This argument to this flag has changed in the recent release:
- The `-c (--config)` flag now takes a Berkshelf configuration file in the form of a plain text json file
- A Berkshelf configuration file can be generated with the `berks configure` command
- If you do not create a Berkshelf configuration file then your Knife config will be used to best try and create an acceptable default configuration file in-process for you
- The Berks configuration provides you with additional configuration options that came from the addition of the `berks cookbook` command and the Vagrant plugin
- In a future release you will be able to specify multiple Chef Servers and their credentials to mitigate the need to have multiple Berks configuration files and also to make the process of uploading your cookbooks to multiple chef servers more seamless.
- Github source location
- It is not possible to specify a shorthand Git source location for Github:
- Faster downloads and uploads of cookbooks
- Lots of bug fixes
- [chef] Berkshelf 1.0.0 released, Jamie Winsor, 11/12/2012
Archive powered by MHonArc 2.6.16.