# Announcing chef-runner

**URL:** <https://discourse.chef.io/t/announcing-chef-runner/4743>\
**Category:** Chef Infra (archive)\
**Created:** [November 26, 2013, 11:23am UTC](https://discourse.chef.io/t/announcing-chef-runner/4743 "2013-11-26T11:23:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mathias\_Lafeldt](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@Mathias\_Lafeldt](https://discourse.chef.io/u/Mathias_Lafeldt)\
**Post date:** [November 26, 2013, 11:23am UTC](https://discourse.chef.io/t/announcing-chef-runner/4743/1 "2013-11-26T11:23:49Z")

</div>

Hi,

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.

-Mathias

[1] [https://github.com/mlafeldt/chef-runner](https://github.com/mlafeldt/chef-runner)  
[2] [https://vimeo.com/78769511](https://vimeo.com/78769511)  
[3] [http://tinyurl.com/pr-chef](http://tinyurl.com/pr-chef)
