Skip to content

Instantly share code, notes, and snippets.

@MSeven
Last active January 3, 2016 00:19
Show Gist options
  • Save MSeven/8382388 to your computer and use it in GitHub Desktop.
Save MSeven/8382388 to your computer and use it in GitHub Desktop.
Vagrant.configure("2") do |config|
config.vm.provider :virtualbox do |v|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.network :private_network, ip: "192.168.56.101"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network :forwarded_port, guest: 3306, host: 3307
config.ssh.forward_agent = true
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 1024]
v.customize ["modifyvm", :id, "--name", "pico-app-dev"]
v.gui = true
end
config.vm.provider :digital_ocean do |provider, override|
override.ssh.private_key_path = './do_keys/digitalocean'
override.vm.box = 'digital_ocean'
override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
provider.client_id = 'nopenopenopenopenopenopenopenope'
provider.api_key = 'nopenopenopenopenopenopenopenopenopenopenope'
provider.image = "Ubuntu 12.10 x64"
provider.region = "Amsterdam 2"
end
config.vm.synced_folder "./", "/var/www", id: "vagrant-root"
config.vm.provision :salt do |salt|
salt.minion_config = "salt/minion"
salt.run_highstate = true
end
end
DOMAIN = 'example.com'
NUM_BOXES = 5
Vagrant.configure("2") do |config|
# Always define a Salt-Master
config.vm.define :master do |master_config|
master_config.vm.box = "saucy-server-cloudimg-amd64-vagrant-disk1"
master_config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/saucy/current/saucy-server-cloudimg-amd64-vagrant-disk1.box"
master_config.vm.host_name = "salt.#{DOMAIN}"
master_config.vm.network :private_network, ip: "192.168.56.100"
master_config.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 512]
v.customize ["modifyvm", :id, "--name", "salt_master"]
end
master_config.vm.provision :salt do |salt|
salt.install_master = true
salt.master_config = "master.conf"
end
end
# Start as many minions as NUM_BOXES defines.
(1..NUM_BOXES).each do |i|
config.vm.define :"minion#{i}" do |minion_config|
minion_config.vm.box = "saucy-server-cloudimg-amd64-vagrant-disk1"
minion_config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/saucy/current/saucy-server-cloudimg-amd64-vagrant-disk1.box"
minion_config.vm.host_name = "minion#{i}.#{DOMAIN}"
minion_config.vm.network :private_network, ip: "192.168.56.10#{i}"
minion_config.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 512]
v.customize ["modifyvm", :id, "--name", "salt_minion#{i}"]
end
minion_config.vm.provision :salt do |salt|
salt.minion_config = "minion.conf"
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment