Announcing chef-runner


Yesterday I released chef-runner [1] – a little tool that speeds up
development and testing of Chef recipes with Vagrant.

What is chef-runner?

  • A fast alternative to the painfully slow vagrant provision.
  • Allows you to change infrastructure code and get immediate feedback.
  • Integrates with Vim so you don’t have to leave your editor while
    hacking on recipes.

There’s a demo video [2] that shows how chef-runner compares to
vagrant provision in terms of speed.

How does it work?

  • Directly executes Chef Solo over (plain) SSH without the overhead of
    vagrant provision.
  • Only applies the Chef recipe you’ve actually modified by overriding
    Chef’s run list.
  • Integrates well with Vagrant: provisioning works as long the VM is
    running and /vagrant is mounted.
  • Installs cookbook dependencies with Berkshelf and updates changes
    with lightning-fast rsync.

I wrote chef-runner while working on the Practicing Ruby cookbook and
article [3]. The tool allowed me to do a lot of “exploratory
provisioning”. I hope some of you will benefit from it too.

Any feedback is welcome.