#veewee-vagrant-box-definitions

Create custom Vagrant (development) server boxes (i386, 32-Bit) with VeeWee.

Why custom?

  • To be used with VirtualBox version 4.1.8: VirualBox guest additions 4.1.8 get installed.
  • Ruby-friendly development environment: in case of Ubuntu 10.04.4 Lucid Lynx Server Vagrant box latest RubyGems version is installed.
  • Properly named boxes, e.g. "debian-6.0.4-squeeze-server".
  • Veewee build steps wrapped by shell scripts, incl. option to delete tmp file artifacts.
  • Intended to be used (shared) as git submodule with other projects.

Example for adding as submodule into sub-directory veewee/:

git submodule add git@github.com:semanticdreamer/veewee-vagrant-box-definitions.git ./veewee
git submodule init && git submodule update

##Building Blocks

  • Ruby
  • Virtual Box - a general-purpose full virtualizer for x86 hardware.
  • Vagrant - a tool for building and distributing virtualized development environments.
  • VeeWee - a tool to easily build vagrant base boxes (or kvm, virtualbox and fusion images).

##Requirements

  • *nix OS (preferably either Mac OS X or a flavour of Linux, e.g. Debian/ Ubuntu)
  • Ruby installed
  • rubygems installed

##Setup

Install Virtual Box, version 4.1.8.

Install Vagrant and VeeWee as a RubyGem:

gem install vagrant veewee

##Build boxe(s) of choice

The build.sh script will also add the created box to your local vagrant environment (vagrant box add...).

$./build.sh

Usage:
    build.sh veewee-definition

Available Veewee definitions:

"debian-6.0.4-squeeze-server"
"ubuntu-10.04.4-lucid-lynx-server"

##Build and Usage Example

In order to build debian-6.0.4-squeeze-server.box:

./build.sh build-debian-6.0.4-squeeze-server

Configuring the Project to use the Box: Vagrantfile

Vagrant::Config.run do |config|
  config.vm.box = "debian-6.0.4-squeeze-server"
end