-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vagrantfile
30 lines (23 loc) · 866 Bytes
/
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
# -*- mode: ruby -*-
# vi: set ft=ruby :
servers = JSON.parse(File.read(File.join(File.dirname(__FILE__), 'servers.json')))
Vagrant.configure("2") do |config|
servers.each do |server|
config.vm.define server['name'] do |srv|
srv.vm.hostname = server['name']
srv.vm.box = server['box']
srv.vm.synced_folder ".", "/vagrant", type: "virtualbox"
srv.vm.network "private_network", ip: server['ip']
srv.vm.provision "shell", path: server['script'], privileged: true, args: server['ip']
if server['ports']
server['ports'].each do |port|
srv.vm.network "forwarded_port", guest: port['guest'], host: port['host']
end
end
srv.vm.provider "virtualbox" do |v|
v.memory = server['ram']
v.cpus = server['vcpu']
end
end
end
end