opscode/test-kitchen — pull request #76 by fnichol (2013-03-29 22:17:57+00:00)
Title: Swap out shell-based kb for Ruby-based Busser gem

Busser is a re-implementation of jr (Jamie Runner) and kb (Kitchen Busser) in pure Ruby and shipped as a gem. The development for Busser is currently happening at https://github.com/fnichol/busser (we can move this when convenient).

There are a few wins here that prompted me to work on this:

* No more `net/https` calls from your workstation to download the kb installer script (SSL certificate issues)
* No more GitHub API rate throttling when determining the latest tagged version of kb, and for each plugin install. This especially hurts when used in conjunction with a local driver such as kitchen-vagrant or kitchen-lxc--the API calls have the same origin IP address so the limit is hit even faster. By the way, this is pretty awesome in itself.
* RubyGems can be used as the packaging system to determine versions, download packages, etc, etc, etc.
* Adds language and development workflow parity with the rest of the Test Kitchen project empire. If you can write Ruby code, you're good to go here as well.
* The plugin architecture for Busser is the same as Test Kitchen: RubyGems. Need a plugin? Now it's just essentially a `gem install`. Oh and, `busser plugin install` can take a local `.gem` to install helping Busser plugin developers.
* For future/advanced extensions, it should be possible to make other Busser plugins that change the core behavior of Busser.