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

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