# -*- mode: ruby -*- # vi: set ft=ruby : # 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(2) do |config| #General Centos VM config.vm.define 'test-centos6' do |vagrant| vagrant.vm.hostname = 'test-centos6' vagrant.vm.box = 'chef/centos-6.5' vagrant.vm.network :private_network, ip: '172.16.100.13' vagrant.vm.synced_folder '.', '/home/vagrant/hws' vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end # vagrant.vm.provision "shell", path: "setup.sh" end #Generic ubuntu machine config.vm.define 'ubuntu_12' do |vagrant| vagrant.vm.hostname = 'test-ubuntu12' vagrant.vm.box = 'precise64' vagrant.vm.box_url = 'http://files.vagrantup.com/precise64.box' # vagrant.vm.network :private_network, ip: '172.16.100.11' vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.network :public_network #vagrant.vm.network :private_network vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_helix_vb.sh" end #For latest Git Fusion on Ubuntu Trusty config.vm.define 'gitfusion_trusty' do |vagrant| vagrant.vm.hostname = 'gitfusion' vagrant.vm.box = 'ubuntu/trusty64' vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.network :public_network vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_helix_basic.sh" end #GF 15.1 machine for testing config.vm.define 'gitfusion_15.1' do |vagrant| vagrant.vm.hostname = 'gitfusion' vagrant.vm.box = 'ubuntu/precise64' vagrant.vm.communicator = "ssh" config.ssh.insert_key=false #vagrant.vm.network :private_network, ip: '172.16.100.12' vagrant.vm.network "public_network" vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_15.1.sh" end #Centos machines, one for GitSwarm and one for Git Fusion config.vm.define 'centos6gf' do |vagrant| vagrant.vm.hostname = 'test-centos6' vagrant.vm.box = 'chef/centos-6.5' # vagrant.vm.network :private_network, ip: '172.16.100.13' vagrant.vm.network :public_network vagrant.vm.synced_folder '.', '/home/vagrant/hws' vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "centos_gf.sh" end config.vm.define 'centos6gs' do |vagrant| vagrant.vm.hostname = 'test-centos6' vagrant.vm.box = 'chef/centos-6.5' # vagrant.vm.network :private_network, ip: '172.16.100.13' vagrant.vm.network :public_network vagrant.vm.synced_folder '.', '/home/vagrant/hws' vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "centos_gitswarm.sh" end #A VM for GitSwarm15.3 and beyond. config.vm.define 'gitswarm' do |vagrant| vagrant.vm.hostname = 'gitswarmvm' vagrant.vm.box = 'ubuntu/precise64' # vagrant.vm.network :private_network, ip: '172.16.100.13' vagrant.vm.network :public_network vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_gitswarm.sh" end #For testing GITLFS client with Git Fusion beta support. config.vm.define 'gitfusion_lfs' do |vagrant| vagrant.vm.hostname = 'gitfusion' vagrant.vm.box = 'ubuntu/trusty64' vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.network :public_network vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_helix_basic.sh" end #A VM for just running P4 and P4D config.vm.define 'basic' do |vagrant| vagrant.vm.hostname = 'basic' vagrant.vm.box = 'ubuntu/precise64' # vagrant.vm.network :private_network, ip: '172.16.100.13' vagrant.vm.network :public_network vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_p4d.sh" end #A VM for just running Git Fusion. config.vm.define 'gf_stand_alone' do |vagrant| vagrant.vm.hostname = 'gf' vagrant.vm.box = 'ubuntu/precise64' # vagrant.vm.network :private_network, ip: '172.16.100.13' vagrant.vm.network :public_network vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_helix_vb.sh" end #VMs for GitSwarm, which connects to a VM running GitFusion and P4D. config.vm.define 'gitswarm_stand_alone' do |vagrant| vagrant.vm.hostname = 'gitswarmvm' vagrant.vm.box = 'ubuntu/precise64' vagrant.vm.network :private_network, ip: '172.16.100.12' vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_gitswarm.sh" end #The VM containing P4D and GitFusion. config.vm.define 'perforce_gs_components' do |vagrant| vagrant.vm.hostname = 'gitfusion' vagrant.vm.box = 'ubuntu/trusty64' vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.network :private_network, ip: '172.16.100.13' # vagrant.vm.network :public_network vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end vagrant.vm.provision "shell", path: "linux/setup_helix_basic.sh" end #A windows7 Vagrant box config.vm.define "windows7" do |windows| windows.vm.box = "ferventcoder/win7pro-x64-nocm-lite" windows.vm.guest = :windows windows.vm.synced_folder ".", "/home/vagrant/hws", create: true, owner: "vagrant", group: "vagrant" # windows.vm.communicator = "winrm" windows.vm.communicator = "ssh" config.ssh.insert_key=false windows.vm.network :public_network windows.vm.provider 'virtualbox' do |vb| vb.memory = 4096 vb.gui = true if RUBY_PLATFORM =~ /darwin/ vb.customize ["modifyvm", :id, '--audio', 'coreaudio', '--audiocontroller', 'hda'] # choices: hda sb16 ac97 elsif RUBY_PLATFORM =~ /mingw|mswin|bccwin|cygwin|emx/ vb.customize ["modifyvm", :id, '--audio', 'dsound', '--audiocontroller', 'ac97'] end end windows.vm.provision :shell, :path => "windows/setup_requirements.cmd" end #A Vagrant Windows10 box config.vm.define 'windows10' do |config| config.vm.box = "modernIE/w10-edge" #Username: IEUser #Password: Passw0rd! config.vm.provider "virtualbox" do |vb| vb.customize ["modifyvm", :id, "--memory", "1024"] vb.customize ["modifyvm", :id, "--vram", "128"] vb.customize ["modifyvm", :id, "--cpus", "2"] vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"] vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] vb.customize ["guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 10000] end config.vm.provision :shell, :path => "windows/setup_requirements.cmd" end #FreeBSD10 VM config.vm.define 'freebsd10' do |config| config.vm.guest = :freebsd config.vm.synced_folder '.', '/home/vagrant/hws' config.vm.box = "freebsd/FreeBSD-10.2-STABLE" config.ssh.shell = "sh" config.vm.base_mac = "080027D14C66" config.ssh.insert_key=false config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--memory", "1024"] vb.customize ["modifyvm", :id, "--cpus", "1"] vb.customize ["modifyvm", :id, "--hwvirtex", "on"] vb.customize ["modifyvm", :id, "--audio", "none"] vb.customize ["modifyvm", :id, "--nictype1", "virtio"] vb.customize ["modifyvm", :id, "--nictype2", "virtio"] end end #Machine for running an LDAP server config.vm.define 'ldap' do |vagrant| vagrant.vm.box = "precise64" vagrant.vm.box_url = 'http://files.vagrantup.com/precise64.box' # vagrant.vm.network :private_network, ip: '172.16.100.11' vagrant.vm.communicator = "ssh" config.ssh.insert_key=false vagrant.vm.network :public_network config.landrush.enable vagrant.vm.hostname = 'ldaptest' vagrant.vm.provision :puppet do |puppet| puppet.module_path = "puppet/modules" puppet.manifests_path = "puppet/manifests" puppet.manifest_file = "default.pp" end end #A second LDAP server, setup from scratch: config.vm.define 'ldap2' do |vagrant| vagrant.vm.hostname = 'ldaptest' vagrant.vm.box = 'ubuntu/trusty64' vagrant.vm.communicator = "ssh" config.ssh.insert_key=false # vagrant.vm.network :public_network vagrant.vm.network :private_network, ip: '172.16.100.13' vagrant.vm.synced_folder '.', '/home/vagrant/hws' # We have real problems provisioning a machine with only 1GB RAM. vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end end #General Centos7 VM config.vm.define 'test-centos7' do |vagrant| vagrant.vm.hostname = 'test-centos7' vagrant.vm.box = 'centos/7' vagrant.vm.network :private_network, ip: '172.16.100.13' vagrant.vm.synced_folder '.', '/home/vagrant/hws' vagrant.vm.provider 'virtualbox' do |vb| vb.memory = 4096 end # vagrant.vm.provision "shell", path: "setup.sh" end end