113 lines
4.0 KiB
Ruby
113 lines
4.0 KiB
Ruby
MACHINES = {
|
|
:inetRouter => {
|
|
:box_name => "ubuntu/jammy64",
|
|
:net => [
|
|
{ip: '192.168.255.1', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router-net"},
|
|
]
|
|
},
|
|
|
|
:inetRouter2 => {
|
|
:box_name => "ubuntu/jammy64",
|
|
:net => [
|
|
{ip: '192.168.255.13', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router2-net"},
|
|
]
|
|
},
|
|
:centralRouter => {
|
|
:box_name => "ubuntu/jammy64",
|
|
:net => [
|
|
{ip: '192.168.255.2', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router-net"},
|
|
{ip: '192.168.255.14', adapter: 3, netmask: "255.255.255.252", virtualbox__intnet: "router2-net"},
|
|
{ip: '192.168.255.5', adapter: 4, netmask: "255.255.255.252", virtualbox__intnet: "router-off01-net"},
|
|
{ip: '192.168.255.9', adapter: 5, netmask: "255.255.255.252", virtualbox__intnet: "router-off02-net"},
|
|
{ip: '192.168.0.1', adapter: 6, netmask: "255.255.255.240", virtualbox__intnet: "dir-net"},
|
|
{ip: '192.168.0.33', adapter: 7, netmask: "255.255.255.240", virtualbox__intnet: "hw-centr-net"},
|
|
{ip: '192.168.0.65', adapter: 8, netmask: "255.255.255.192", virtualbox__intnet: "wifi-net"},
|
|
]
|
|
},
|
|
|
|
:centralServer => {
|
|
:box_name => "ubuntu/jammy64",
|
|
:net => [
|
|
{ip: '192.168.0.2', adapter: 2, netmask: "255.255.255.240", virtualbox__intnet: "dir-net"},
|
|
]
|
|
},
|
|
|
|
:office1Router => {
|
|
:box_name => "ubuntu/jammy64",
|
|
:net => [
|
|
{ip: '192.168.255.6', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router-off01-net"},
|
|
{ip: '192.168.2.1', adapter: 3, netmask: "255.255.255.192", virtualbox__intnet: "dev01-net"},
|
|
{ip: '192.168.2.65', adapter: 4, netmask: "255.255.255.192", virtualbox__intnet: "test01-srv-net"},
|
|
{ip: '192.168.2.129', adapter: 5, netmask: "255.255.255.192", virtualbox__intnet: "managers-net"},
|
|
{ip: '192.168.2.193', adapter: 6, netmask: "255.255.255.192", virtualbox__intnet: "hw01-net"},
|
|
|
|
]
|
|
},
|
|
|
|
:office1Server => {
|
|
:box_name => "ubuntu/jammy64",
|
|
:net => [
|
|
{ip: '192.168.2.2', adapter: 2, netmask: "255.255.255.192", virtualbox__intnet: "dev01-net"},
|
|
]
|
|
},
|
|
|
|
:office2Router => {
|
|
:box_name => "ubuntu/jammy64",
|
|
:net => [
|
|
{ip: '192.168.255.10', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router-off02-net"},
|
|
{ip: '192.168.1.1', adapter: 3, netmask: "255.255.255.128", virtualbox__intnet: "dev02-net"},
|
|
{ip: '192.168.1.129', adapter: 4, netmask: "255.255.255.192", virtualbox__intnet: "test02-srv-net"},
|
|
{ip: '192.168.1.193', adapter: 5, netmask: "255.255.255.192", virtualbox__intnet: "hw02-net"},
|
|
|
|
]
|
|
},
|
|
|
|
:office2Server => {
|
|
:box_name => "ubuntu/jammy64",
|
|
:net => [
|
|
{ip: '192.168.1.2', adapter: 2, netmask: "255.255.255.128", virtualbox__intnet: "dev02-net"},
|
|
]
|
|
},
|
|
|
|
|
|
}
|
|
|
|
Vagrant.configure("2") do |config|
|
|
|
|
config.vm.provider "virtualbox" do |vb|
|
|
vb.memory = 512
|
|
vb.cpus = 1
|
|
end
|
|
|
|
|
|
MACHINES.each do |boxname, boxconfig|
|
|
|
|
config.vm.define boxname do |box|
|
|
|
|
box.vm.box = boxconfig[:box_name]
|
|
box.vm.host_name = boxname.to_s
|
|
|
|
boxconfig[:net].each do |ipconf|
|
|
box.vm.network "private_network", **ipconf
|
|
end
|
|
|
|
if boxname.to_s == "inetRouter2"
|
|
box.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
|
|
end
|
|
|
|
|
|
if boxname.to_s == "office2Server"
|
|
box.vm.provision "ansible" do |ansible|
|
|
ansible.limit = "all"
|
|
ansible.playbook = "ansible.yml"
|
|
ansible.become = "true"
|
|
end
|
|
end
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
end |