github.com/blystad/deis@v0.11.0/Vagrantfile (about) 1 # -*- mode: ruby -*- 2 # # vi: set ft=ruby : 3 4 DEIS_NUM_INSTANCES = (ENV['DEIS_NUM_INSTANCES'].to_i > 0 && ENV['DEIS_NUM_INSTANCES'].to_i) || 1 5 6 if DEIS_NUM_INSTANCES == 1 7 mem = 4096 8 cpus = 2 9 else 10 mem = 2048 11 cpus = 1 12 end 13 14 COREOS_VERSION = "402.2.0" 15 16 Vagrant.configure("2") do |config| 17 config.vm.box = "coreos-#{COREOS_VERSION}" 18 config.vm.box_url = "http://storage.core-os.net/coreos/amd64-usr/#{COREOS_VERSION}/coreos_production_vagrant.box" 19 20 config.vm.provider :vmware_fusion do |vb, override| 21 override.vm.box_url = "http://storage.core-os.net/coreos/amd64-usr/#{COREOS_VERSION}/coreos_production_vagrant_vmware_fusion.box" 22 end 23 24 config.vm.provider :virtualbox do |vb, override| 25 # Fix docker not being able to resolve private registry in VirtualBox 26 vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] 27 vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"] 28 end 29 30 # plugin conflict 31 if Vagrant.has_plugin?("vagrant-vbguest") then 32 config.vbguest.auto_update = false 33 end 34 #plugin conflict 35 if Vagrant.has_plugin?("vagrant-cachier") then 36 config.cache.disable! 37 end 38 39 (1..DEIS_NUM_INSTANCES).each do |i| 40 config.vm.define vm_name = "deis-#{i}" do |config| 41 config.vm.hostname = vm_name 42 43 config.vm.provider :virtualbox do |vb| 44 vb.memory = mem 45 vb.cpus = cpus 46 end 47 48 ip = "172.17.8.#{i+99}" 49 config.vm.network :private_network, ip: ip 50 51 # user-data bootstrapping 52 config.vm.provision :file, :source => "contrib/coreos/user-data", :destination => "/tmp/vagrantfile-user-data" 53 # check that the CoreOS user-data file is valid 54 config.vm.provision :shell do |s| 55 s.path = "contrib/util/check-user-data.sh" 56 s.args = ["/tmp/vagrantfile-user-data", "#{DEIS_NUM_INSTANCES}"] 57 end 58 config.vm.provision :shell, :inline => "mv /tmp/vagrantfile-user-data /var/lib/coreos-vagrant/", :privileged => true 59 end 60 end 61 62 end