Simple Vagrant provisioner using chef-apply
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is now in Vagrant core:

A Vagrant plugin that adds chef-apply as a provider. This is useful when you want to do something that requires more than shell but do not want to write a full cookbook.

This plugin has been verified to work with the following Vagrant providers:

  • VirtualBox (part of core)

It may work with other Vagrant providers but is not guaranteed to!


Ensure you have downloaded and installed Vagrant 1.1.x from the Vagrant downloads page.

Installation is performed in the prescribed manner for Vagrant 1.1 plugins.

vagrant plugin install vagrant-chef-apply

or to install from source:

$ git clone
$ cd vagrant-chef-apply
$ gem build vagrant-chef-apply.gemspec
$ vagrant plugin install vagrant-chef-apply*.gem


The Chef-apply Vagrant plugin automatically hooks into the Vagrant provisioning middleware. You specify the path to your recipe file and have Chef 11 installed in your image. vagrant-omnibus is helpful for installing Chef

In recipe.rb

package "build-essential"

in Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.provision :chef_apply do |chef|
    chef.path = "recipe.rb"

See a real world example at lua-resty-riak.


Patches welcome.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


Brian Akins (


Seth Chisamore for the README file - copied from vagrant-omnibus

Vagrant for the code for the shell provider on which this is based.