|
# -*- mode: ruby -*- |
|
# vi: set ft=ruby : |
|
pref_interface = ['en0: Wi-Fi (AirPort)'] |
|
|
|
# Some auto-selection magic |
|
# http://stackoverflow.com/questions/17729757/preferred-fallback-network-interfaces-with-vagrant |
|
vm_interfaces = %x( VBoxManage list bridgedifs | grep ^Name ).gsub(/Name:\s+/, '').split("\n") |
|
pref_interface = pref_interface.map {|n| n if vm_interfaces.include?(n)}.compact |
|
$network_interface = pref_interface[0] |
|
|
|
Vagrant.configure("2") do |config| |
|
config.vm.box = "precise64" |
|
config.vm.box_url = "http://files.vagrantup.com/precise64.box" |
|
config.ssh.forward_agent = true |
|
config.vm.network :public_network, :bridge => $network_interface |
|
|
|
config.vm.define :deployment do |deployment| |
|
deployment.vm.hostname = "deployment" |
|
deployment.vm.network :private_network, ip: "10.10.11.2" |
|
|
|
deployment.vm.synced_folder "etc/salt/master.d/", "/etc/salt/master.d" |
|
deployment.vm.synced_folder "../base/", "/srv/salt" |
|
deployment.vm.synced_folder "salt/salt-dev/", "/srv/salt-dev" |
|
deployment.vm.synced_folder "../salt-webapps/", "/srv/salt-webapps" |
|
deployment.vm.synced_folder "salt/salt-webapps-dev/", "/srv/salt-webapps-dev" |
|
deployment.vm.synced_folder "../pillar/", "/srv/pillar" |
|
deployment.vm.synced_folder "salt/pillar-dev/", "/srv/pillar-dev" |
|
deployment.vm.synced_folder "../runner/", "/srv/runner" |
|
|
|
deployment.vm.provider "virtualbox" do |v| |
|
v.name = "deployment" |
|
end |
|
|
|
deployment.vm.provision :salt do |c| |
|
c.minion_config = "salt/minion" |
|
c.master_config = "salt/master" |
|
c.minion_key = "salt/key/minion.pem" |
|
c.minion_pub = "salt/key/minion.pub" |
|
c.master_key = "salt/key/master.pem" |
|
c.master_pub = "salt/key/master.pub" |
|
c.install_master = true |
|
c.seed_master = {deployment: "salt/key/master.pub", piwik0: "salt/key/minion.pub"} |
|
c.run_highstate = false |
|
c.accept_keys = true |
|
c.verbose = true |
|
c.bootstrap_options = "-D" |
|
c.temp_config_dir = "/tmp" |
|
end |
|
end |
|
|
|
config.vm.define :tracking0 do |tracking0| |
|
tracking0.vm.hostname = "tracking0" |
|
tracking0.vm.network :private_network, ip: "10.10.11.3" |
|
|
|
tracking0.vm.provider "virtualbox" do |v| |
|
v.name = "tracking0" |
|
v.customize ["modifyvm", :id, "--memory", "2048"] |
|
end |
|
|
|
tracking0.vm.provision :salt do |c| |
|
c.minion_config = "salt/minion" |
|
c.minion_key = "salt/key/minion.pem" |
|
c.minion_pub = "salt/key/minion.pub" |
|
c.verbose = true |
|
c.bootstrap_options = "-D" |
|
c.temp_config_dir = "/tmp" |
|
c.run_highstate = false |
|
end |
|
end |
|
|
|
config.vm.define :lb0 do |lb0| |
|
lb0.vm.hostname = "lb0" |
|
lb0.vm.network :private_network, ip: "10.10.11.4" |
|
|
|
lb0.vm.provider "virtualbox" do |v| |
|
v.name = "lb0" |
|
end |
|
|
|
lb0.vm.provision :salt do |c| |
|
c.minion_config = "salt/minion" |
|
c.minion_key = "salt/key/minion.pem" |
|
c.minion_pub = "salt/key/minion.pub" |
|
c.verbose = true |
|
c.bootstrap_options = "-D" |
|
c.temp_config_dir = "/tmp" |
|
c.run_highstate = false |
|
end |
|
end |
|
end |