-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathVagrantfile.dist
146 lines (110 loc) · 4.17 KB
/
Vagrantfile.dist
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.require_version ">= 1.6.3"
if Vagrant.has_plugin?('vagrant-vbguest')
class GuestAdditionsFixer < VagrantVbguest::Installers::Ubuntu
def install(opts=nil, &block)
super
communicate.sudo('([ -e /opt/VBoxGuestAdditions-4.3.10 ] && sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions) || true')
end
end
end
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "debianbox" do |debianbox|
# Box
debianbox.vm.box = "wheezy"
debianbox.vm.box_url = "http://files.red-tag.de/vagrant/wheezy.box"
# Hostname
debianbox.vm.hostname = "zs-debian.dev"
if Vagrant.has_plugin?('vagrant-vbguest')
debianbox.vbguest.installer = GuestAdditionsFixer
end
# Message
debianbox.vm.post_up_message = "Login: vagrant ssh\nIP: 172.21.7.90"
# Network
debianbox.ssh.forward_agent = true
debianbox.vm.network :private_network, ip: "172.21.7.90"
# Virtualbox settings:
debianbox.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 512]
v.customize ["modifyvm", :id, "--cpus", 1]
end
# Shell Provisioner for Debian
debianbox.vm.provision :shell, :path => "bootstrap-debian.sh"
# Puppet Provisioner
debianbox.vm.provision :puppet do |puppet|
puppet.hiera_config_path = "hiera.yaml"
puppet.manifests_path = "manifests"
puppet.manifest_file = "site.pp"
puppet.options = [
"--verbose",
"--modulepath=/vagrant/modules:/vagrant/local_modules"]
end
end
config.vm.define "trustybox" do |trustybox|
# Box
trustybox.vm.box = "trustry"
trustybox.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
# Hostname
trustybox.vm.hostname = "zs-trusty.dev"
if Vagrant.has_plugin?('vagrant-vbguest')
trustybox.vbguest.installer = GuestAdditionsFixer
end
# Message
trustybox.vm.post_up_message = "Login: vagrant ssh\nIP: 172.21.7.91"
# Network
trustybox.ssh.forward_agent = true
trustybox.vm.network :private_network, ip: "172.21.7.91"
# Virtualbox settings:
trustybox.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 512]
v.customize ["modifyvm", :id, "--cpus", 1]
end
# Shell Provisioner for Debian
trustybox.vm.provision :shell, :path => "bootstrap-debian.sh"
# Puppet Provisioner
trustybox.vm.provision :puppet do |puppet|
puppet.hiera_config_path = "hiera.yaml"
puppet.manifests_path = "manifests"
puppet.manifest_file = "site.pp"
puppet.options = [
"--verbose",
"--modulepath=/vagrant/modules:/vagrant/local_modules"]
end
end
config.vm.define "centos64box" do |centos64box|
# Box
centos64box.vm.box = "centos64"
centos64box.vm.box_url = "http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box"
# Hostname
centos64box.vm.hostname = "zs-centos64.dev"
if Vagrant.has_plugin?('vagrant-vbguest')
centos64box.vbguest.auto_update = false
end
# Message
centos64box.vm.post_up_message = "Login: vagrant ssh\nIP: 172.21.7.92"
# Network
centos64box.ssh.forward_agent = true
centos64box.vm.network :private_network, ip: "172.21.7.92"
# Virtualbox settings:
centos64box.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 512]
v.customize ["modifyvm", :id, "--cpus", 1]
end
# Shell Provisioner for Debian
centos64box.vm.provision :shell, :path => "bootstrap-centos.sh"
# Puppet Provisioner
centos64box.vm.provision :puppet do |puppet|
puppet.hiera_config_path = "hiera.yaml"
puppet.manifests_path = "manifests"
puppet.manifest_file = "site.pp"
puppet.options = [
"--verbose",
"--modulepath=/vagrant/modules:/vagrant/local_modules"]
end
end
end