Introduction
Usage
git clone git://github.com/fnordfish/vagrant-soup.git my_new_vagrant_project
- cd my_new_vagrant_project
- Edit the
Vagrantfile
to match your needs (e.g. add or remove a role and/or recipes) vagrant up
- enjoy
Adding Cookbooks
Simply put your new Cookbook into the cookbooks
path and chef.add_recipe("new_one")
within the config.vm.provision
-block of your Vagrantfile
.
Downloading Cookbooks from the Chef Community is fairly simple and described in the Opscode Wiki - Working with Git and Cookbooks.
In short: Say you want to install couchdb
knife cookbook site vendor "couchdb" -d -o $PWD/cookbooks
The knife
command comes with the chef
gem. So you may need to gem install chef
on your local machine.
A good overview of available Cookbooks by Opscode may be found in their github repository. However, it is not recommended by Opscode to simply include all Cookbooks. Doing so may lead into strange errors regarding not even used Cookbooks.
Roles
My Roles combines Cookbooks and configurations to provide a basic setup for development machines.
All of them include the default
Role, which makes developing on the "remote-vm" easier. Basically it includes git
and subversion
so we can fetch remote sources and an nfs-server
to get a fast remote connection into the VM.
Available Roles
default
:git
,subversion
,nfs::server
ruby_devel
:rvm
What you need
- vagrant 0.7.2
- VirtualBox 4.0.4
- The vagrant base box will be download automatically
Third-Party stuff
- The main recipes are provided by Opscode: Opscode Public Cookbooks for Chef. Opscode cookbooks are distributed under the Apache 2 Software License.
- The cookbook for NFS-(Server-)Support is taken from the 37signals cookbooks. 37signals dit not provide any License Information in their repository.
- The chef-rvm cookbook is developed by Fletcher Nichol and "Licensed under the Apache License, Version 2.0"