tknerr's blog

read it or leave it

Essential Vagrant Plugins for Chef and Puppet

| Comments

Since the time I started working with Vagrant a few years ago some plugins have become really essential and indispensable for me:

  1. vagrant-cachier – caches packages downloaded within the VMs on the host
  2. bindler – Bundler-like plugin management for Vagrant. Only for Vagrant < 1.4 :–((
  3. vagrant-proxyconf – dead easy proxy configuration for the VMs

If you are using Chef or Puppet together with Vagrant, the following plugins should also be of interest for you:

Using Vagrant with Chef

When working with Vagrant and Chef these plugins are indispensable:

  1. vagrant-omnibus – installs Chef into a bare OS basebox
  2. vagrant-berkshelf – resolves Chef cookbook dependencies

The first one makes sure that Chef gets installed in the desired version into a bare OS basebox, e.g. you can use the bare OS bento baseboxes and have Chef being automatically installed on vagrant up.

The second one integrates Berkshelf, a dependency manager for Chef cookbooks with Vagrant. With that plugin cookbook dependencies are automatically resolved on vagrant up.

Here is an example Vagrantfile using the two plugins.

Using Vagrant with Puppet

Analogous to the Chef related plugins above here are their Puppet-specific counterparts:

  1. vagrant-puppet-install – installs Puppet into a bare OS basebox
  2. vagrant-librarian-puppet – resolves Puppet module dependencies

They are working in the same way as the Chef plugins above, not much more to say.