diff options
-rw-r--r-- | Vagrantfile | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 000000000..465d5a67f --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,70 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +BOX_NAME = ENV['BOX_NAME'] || "ubuntu" +BOX_URI = ENV['BOX_URI'] || "http://files.vagrantup.com/precise64.box" +AWS_REGION = ENV['AWS_REGION'] || "us-east-1" +AWS_AMI = ENV['AWS_AMI'] || "ami-d0f89fb9" + +Vagrant::Config.run do |config| + # Setup virtual machine box. This VM configuration code is always executed. + config.vm.box = BOX_NAME + config.vm.box_url = BOX_URI + + # Install couchdb dependencies if deployment was not done + if Dir.glob("#{File.dirname(__FILE__)}/.vagrant/machines/default/*/id").empty? + # install build-essential + pkg_cmd = "apt-get update -qq; apt-get install -q -y build-essential git " + "autoconf autoconf-archive gnu-standards help2man textinfo; " + + # Install erlang + pkg_cmd << "apt-get install -q -y erlang-base-hipe erlang-dev " \ + "erlang-manpages erlang-eunit erlang-nox erlang-xmerl erlang-inets; " + + # couchdb developper dependencies + pkg_cmd << "apt-get install -q -y libmozjs185-dev libicu-dev " \ + "curl libcurl4-gnutls-dev libtool; " + + # doc dependencies + pkg_cmd << "apt-get install -q -y apt-get install -q -y help2man " \ + "textinfo python-sphix python-pip; " \ + "pip install -U pygments; " + + config.vm.provision :shell, :inline => pkg_cmd + end +end + + +# Providers were added on Vagrant >= 1.1.0 +Vagrant::VERSION >= "1.1.0" and Vagrant.configure("2") do |config| + config.vm.provider :aws do |aws, override| + aws.access_key_id = ENV["AWS_ACCESS_KEY_ID"] + aws.secret_access_key = ENV["AWS_SECRET_ACCESS_KEY"] + aws.keypair_name = ENV["AWS_KEYPAIR_NAME"] + override.ssh.private_key_path = ENV["AWS_SSH_PRIVKEY"] + override.ssh.username = "ubuntu" + aws.region = AWS_REGION + aws.ami = AWS_AMI + aws.instance_type = "t1.micro" + end + + config.vm.provider :rackspace do |rs| + config.ssh.private_key_path = ENV["RS_PRIVATE_KEY"] + rs.username = ENV["RS_USERNAME"] + rs.api_key = ENV["RS_API_KEY"] + rs.public_key_path = ENV["RS_PUBLIC_KEY"] + rs.flavor = /512MB/ + rs.image = /Ubuntu/ + end + + config.vm.provider :virtualbox do |vb| + config.vm.box = BOX_NAME + config.vm.box_url = BOX_URI + end + + config.vm.provider :lxc do |lxc| + config.vm.box = BOX_NAME + config.vm.box_url = BOX_URI + lxc.customize 'cgroup.memory.limit_in_bytes', '1024M' + end +end |