Vagrant::Boxen

Build Status Code Climate

Inspired by Rails Wizard and GitHub's Boxen, this gem attempts to lower the "entry barrier" of getting a manageable Vagrant machine targetted for development up and running without the need to learn Puppet or Chef.

Installation

If you use the gem version of Vagrant, use:

$ gem install vagrant-boxen

otherwise, use:

$ vagrant gem install vagrant-boxen

Usage

Just add a Vagrant::Boxen::Provisioner to your Vagrantfile:

require 'vagrant-boxen'
Vagrant::Config.run do |config|
  # ... other settings ...
  config.vm.provision Vagrant::Boxen::Provisioner do |boxen|
    # Install redis and memcached with defaults
    boxen.install :redis, :memcached

    # or specify configuration options for the module
    boxen.redis {
      port   '1234'
      memory '1gb'
    }
  end
end

For now, please refer to the sample Vagrantfile on this repo for the most up to date documentation.

While the modules provided might work on most linux distributions, I'm developing against an Ubuntu 12.10 64bits box based on https://github.com/downloads/roderik/VagrantQuantal64Box/quantal64.box

To find out more about the planned functionality, check out the project's issues.

How does it work?

Under the hood, Vagrant::Boxen::Provisioner will generate a puppet manifest based on the configured modules that will get passed to a Vagrant::Provisioners::Puppet configured to use the bundled puppet modules.

Contributing

  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