github.com/marwan-at-work/consul@v1.4.5/Vagrantfile (about) 1 # -*- mode: ruby -*- 2 # vi: set ft=ruby : 3 # 4 5 LINUX_BASE_BOX = "bento/ubuntu-16.04" 6 7 Vagrant.configure(2) do |config| 8 config.vm.define "linux", autostart: true, primary: true do |vmCfg| 9 vmCfg.vm.box = LINUX_BASE_BOX 10 vmCfg.vm.hostname = "linux" 11 vmCfg = configureProviders vmCfg, 12 cpus: suggestedCPUCores() 13 14 vmCfg = configureLinuxProvisioners(vmCfg) 15 16 vmCfg.vm.synced_folder '.', 17 '/opt/gopath/src/github.com/hashicorp/consul' 18 19 vmCfg.vm.network "forwarded_port", guest: 8500, host: 8500, auto_correct: true 20 end 21 end 22 23 def configureLinuxProvisioners(vmCfg) 24 vmCfg.vm.provision "shell", 25 privileged: true, 26 inline: 'rm -f /home/vagrant/linux.iso' 27 28 vmCfg.vm.provision "shell", 29 privileged: true, 30 path: './scripts/vagrant-linux-priv-go.sh' 31 32 return vmCfg 33 end 34 35 def configureProviders(vmCfg, cpus: "2", memory: "2048") 36 vmCfg.vm.provider "virtualbox" do |v| 37 v.memory = memory 38 v.cpus = cpus 39 end 40 41 ["vmware_fusion", "vmware_workstation"].each do |p| 42 vmCfg.vm.provider p do |v| 43 v.enable_vmrun_ip_lookup = false 44 v.vmx["memsize"] = memory 45 v.vmx["numvcpus"] = cpus 46 end 47 end 48 49 vmCfg.vm.provider "virtualbox" do |v| 50 v.memory = memory 51 v.cpus = cpus 52 end 53 54 return vmCfg 55 end 56 57 def suggestedCPUCores() 58 case RbConfig::CONFIG['host_os'] 59 when /darwin/ 60 Integer(`sysctl -n hw.ncpu`) / 2 61 when /linux/ 62 Integer(`cat /proc/cpuinfo | grep processor | wc -l`) / 2 63 else 64 2 65 end 66 end