forked from UtahDave/salt-vagrant-demo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vagrantfile
92 lines (81 loc) · 3.27 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider "virtualbox" do |vb|
vb.memory = 1024
end
config.vm.define :master do |master_config|
master_config.vm.box = "debian/contrib-jessie64"
master_config.vm.host_name = 'saltmaster.local'
master_config.vm.network "private_network", ip: "192.168.50.10"
master_config.vm.synced_folder "saltstack/salt/", "/srv/salt"
master_config.vm.synced_folder "saltstack/pillar/", "/srv/pillar"
master_config.vm.provision :salt do |salt|
salt.master_config = "saltstack/etc/master"
salt.master_key = "saltstack/keys/master_minion.pem"
salt.master_pub = "saltstack/keys/master_minion.pub"
salt.minion_key = "saltstack/keys/master_minion.pem"
salt.minion_pub = "saltstack/keys/master_minion.pub"
salt.seed_master = {
"minion1" => "saltstack/keys/minion1.pub",
"minion2" => "saltstack/keys/minion2.pub",
"minion3" => "saltstack/keys/minion3.pub"
}
salt.install_type = "stable"
salt.install_master = true
salt.no_minion = true
salt.verbose = true
salt.colorize = true
salt.bootstrap_options = "-P -c /tmp"
end
end
config.vm.define :minion1 do |minion_config|
minion_config.vm.box = "debian/contrib-jessie64"
minion_config.vm.host_name = 'saltminion1.local'
minion_config.vm.network "private_network", ip: "192.168.50.11"
minion_config.vm.provision :salt do |salt|
salt.minion_config = "saltstack/etc/minion1"
salt.minion_key = "saltstack/keys/minion1.pem"
salt.minion_pub = "saltstack/keys/minion1.pub"
salt.install_type = "stable"
salt.verbose = true
salt.colorize = true
salt.bootstrap_options = "-P -c /tmp"
end
end
config.vm.define :minion2 do |minion_config|
minion_config.vm.box = "ubuntu/trusty64"
# The following line can be uncommented to use Centos
# instead of Ubuntu.
# Comment out the above line as well
#minion_config.vm.box = "bento/centos-7.2"
minion_config.vm.host_name = 'saltminion2.local'
minion_config.vm.network "private_network", ip: "192.168.50.12"
minion_config.vm.provision :salt do |salt|
salt.minion_config = "saltstack/etc/minion2"
salt.minion_key = "saltstack/keys/minion2.pem"
salt.minion_pub = "saltstack/keys/minion2.pub"
salt.install_type = "stable"
salt.verbose = true
salt.colorize = true
salt.bootstrap_options = "-P -c /tmp"
end
end
config.vm.define :minion3 do |minion_config|
minion_config.vm.box = "centos/7"
minion_config.ssh.insert_key = false
minion_config.vm.host_name = 'saltminion3.local'
minion_config.vm.network "private_network", ip: "192.168.50.13"
minion_config.vm.provision :salt do |salt|
salt.minion_config = "saltstack/etc/minion3"
salt.minion_key = "saltstack/keys/minion3.pem"
salt.minion_pub = "saltstack/keys/minion3.pub"
salt.install_type = "stable"
salt.verbose = true
salt.colorize = true
salt.bootstrap_options = "-P -c /tmp"
end
end
end