gvavagrant/Vagrantfile
Jan Dittberner f373d0c639 Multi machine setup
This commit defines a multi machine Vagrant setup with internal
networking and the gnuviechadmin Git repositories mounted as shared
folders inside the corresponding virtual machines.

The contained bootstrap.sh clones all Git repositories and runs Vagrant
in the correct order.
2017-02-17 23:00:27 +01:00

106 lines
3.2 KiB
Ruby

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "debian/contrib-jessie64"
config.vm.post_up_message = nil
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.define "salt" do |node|
node.vm.hostname = "salt"
node.vm.synced_folder "repos/gvasalt/states", "/srv/salt"
node.vm.synced_folder "repos/gvasalt/pillar", "/srv/pillar"
node.vm.network "private_network", ip: "172.16.4.10"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "mq" do |node|
node.vm.hostname = "mq"
node.vm.network "private_network", ip: "172.16.4.20"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "syslog" do |node|
node.vm.hostname = "syslog"
node.vm.network "private_network", ip: "172.16.4.30"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "pgsql" do |node|
node.vm.hostname = "pgsql"
node.vm.synced_folder "repos/gvapgsql", "/srv/gvapgsql"
node.vm.network "private_network", ip: "172.16.4.40"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "dns" do |node|
node.vm.hostname = "dns"
node.vm.network "private_network", ip: "172.16.4.50"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "ldap" do |node|
node.vm.hostname = "ldap"
node.vm.synced_folder "repos/gvaldap", "/srv/gvaldap"
node.vm.network "private_network", ip: "172.16.4.60"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "file" do |node|
node.vm.hostname = "file"
node.vm.synced_folder "repos/gvafile", "/srv/gvafile"
node.vm.network "private_network", ip: "172.16.4.70"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "mail" do |node|
node.vm.hostname = "mail"
node.vm.network "private_network", ip: "172.16.4.80"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "mysql" do |node|
node.vm.hostname = "mysql"
node.vm.synced_folder "repos/gvamysql", "/srv/gvamysql"
node.vm.network "private_network", ip: "172.16.4.90"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "web" do |node|
node.vm.hostname = "web"
node.vm.synced_folder "repos/gvaweb", "/srv/gvaweb"
node.vm.network "private_network", ip: "172.16.4.100"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
config.vm.define "service" do |node|
node.vm.hostname = "service"
node.vm.synced_folder "repos/gva", "/srv/gva"
node.vm.network "forwarded_port", guest: 443, host:8443
node.vm.network "private_network", ip: "172.16.4.110"
node.vm.post_up_message = "Use https://localhost:8443/ to access the gva web interface"
node.vm.provider "virtualbox" do |vb|
vb.memory = "256"
end
end
end