| # -*- 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 |