86 lines
2.5 KiB
Ruby
86 lines
2.5 KiB
Ruby
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
Vagrant.configure("2") do |config|
|
|
# Base VM OS configuration.
|
|
config.vm.box = "debian/bookworm64"
|
|
config.ssh.insert_key = false
|
|
config.vm.synced_folder '.', '/vagrant', disabled: true
|
|
|
|
# General VirtualBox VM configuration.
|
|
config.vm.provider :virtualbox do |v|
|
|
v.memory = 1024
|
|
v.cpus = 1
|
|
v.linked_clone = true
|
|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
|
|
v.customize ["modifyvm", :id, "--ioapic", "on"]
|
|
end
|
|
|
|
# stork.
|
|
config.vm.define "stork" do |stork|
|
|
stork.vm.hostname = "stork"
|
|
stork.vm.network :private_network, ip: "192.168.56.5"
|
|
stork.vm.provision "shell",
|
|
inline: "sudo apt-get update ; sudo apt-get install -y vim curl wget"
|
|
stork.vm.provision "ansible" do |ansible|
|
|
ansible.extra_vars = {
|
|
stork_db_name: "stork",
|
|
stork_db_user: "stork-server",
|
|
stork_db_passwd: "stork-passwd",
|
|
}
|
|
ansible.playbook = "provision/setup-stork.yml"
|
|
end
|
|
end
|
|
|
|
# Kea DHCP server 1.
|
|
config.vm.define "kea1" do |kea1|
|
|
kea1.vm.hostname = "kea1"
|
|
kea1.vm.network :private_network, ip: "192.168.56.2"
|
|
kea1.vm.provider :virtualbox do |v|
|
|
v.customize ["modifyvm", :id, "--memory", 512]
|
|
end
|
|
kea1.vm.provision "shell",
|
|
inline: "sudo apt-get update ; sudo apt-get install -y vim curl wget"
|
|
kea1.vm.provision "ansible" do |ansible|
|
|
ansible.extra_vars = {
|
|
srv_name: "kea1",
|
|
srv_ip: "192.168.56.2",
|
|
}
|
|
ansible.playbook = "provision/setup-kea.yml"
|
|
end
|
|
end
|
|
|
|
# Kea DHCP server 2.
|
|
config.vm.define "kea2" do |kea2|
|
|
kea2.vm.hostname = "kea2"
|
|
kea2.vm.network :private_network, ip: "192.168.56.3"
|
|
kea2.vm.provider :virtualbox do |v|
|
|
v.customize ["modifyvm", :id, "--memory", 512]
|
|
end
|
|
kea2.vm.provision "shell",
|
|
inline: "sudo apt-get update ; sudo apt-get install -y vim curl wget"
|
|
kea2.vm.provision "ansible" do |ansible|
|
|
ansible.extra_vars = {
|
|
srv_name: "kea2",
|
|
srv_ip: "192.168.56.3",
|
|
}
|
|
ansible.playbook = "provision/setup-kea.yml"
|
|
end
|
|
end
|
|
|
|
# client DHCP .
|
|
config.vm.define "cli" do |cli|
|
|
cli.vm.hostname = "cli"
|
|
#cli.vm.network :private_network, ip: "192.168.56.3"
|
|
cli.vm.network :private_network, type: "dhcp"
|
|
cli.vm.provider :virtualbox do |v|
|
|
v.customize ["modifyvm", :id, "--memory", 512]
|
|
end
|
|
cli.vm.provision "shell",
|
|
inline: "sudo apt-get update ; sudo apt-get install -y vim curl wget"
|
|
end
|
|
|
|
|
|
end
|
|
|