# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = '2' # This is a set of different vagrant setups that are primarily useful for package # building and testing. The techniques here were borrowed from the Git Fusion # team. Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.define 'ubuntu' do |ubuntu| ubuntu.vm.box = 'precise64' ubuntu.vm.box_url = 'http://files.vagrantup.com/precise64.box' ubuntu.vm.network :private_network, ip: '172.16.100.20' # Note that shared folders will not work with Virtual Box Guest Additions 4.3.10 until this workaround is performed inside the guest: # https://www.virtualbox.org/ticket/12879#comment:2 # sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions ubuntu.vm.synced_folder '.', '/home/vagrant/p4ws' ubuntu.vm.provision 'shell', path: 'config/bootstrap-ubuntu.sh' end config.vm.define 'centos' do |centos| centos.vm.box = 'centos64' centos.vm.box_url = 'http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box' # centos.vm.network :public_network centos.vm.network :private_network, ip: '172.16.100.21' centos.vm.synced_folder '.', '/home/vagrant/p4ws' # TODO provision script end config.vm.define 'docker' do |docker| docker.vm.box = 'chef/fedora-20' docker.vm.box_url = 'https://vagrantcloud.com/chef/fedora-20/version/1/provider/virtualbox.box' # docker.vm.network :public_network docker.vm.network :private_network, ip: '172.16.100.22' docker.vm.synced_folder '../../..', '/home/vagrant/p4-dev' # Docker needs a lot of memory docker.vm.provider 'virtualbox' do |vb| vb.customize ['modifyvm', :id, '--memory', '4096'] end # TODO provision script end config.vm.define 'salt' do |salt| salt.vm.box = 'precise64' salt.vm.box_url = 'http://files.vagrantup.com/precise64.box' salt.vm.network :private_network, ip: '172.16.100.23' # Note that shared folders will not work with Virtual Box Guest Additions 4.3.10 until this workaround is performed inside the guest: # https://www.virtualbox.org/ticket/12879#comment:2 # sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions salt.vm.synced_folder '.', '/home/vagrant/p4ws', mount_options: ['dmode=775,fmode=664'] salt.vm.provision 'shell', path: 'config/bootstrap-salt-minion.sh' end end