2023-03-09 10:54:19 +01:00
|
|
|
# -*- mode: ruby -*-
|
|
|
|
# vi: set ft=ruby :
|
2023-03-09 18:24:52 +01:00
|
|
|
#
|
|
|
|
n_peer_nodes = 2
|
2023-03-09 10:54:19 +01:00
|
|
|
|
|
|
|
Vagrant.configure("2") do |config|
|
|
|
|
config.vm.box = "generic/ubuntu2004"
|
|
|
|
|
|
|
|
config.vm.provider :libvirt do |libvirt|
|
|
|
|
libvirt.qemu_use_session = false
|
|
|
|
end
|
2023-03-09 18:24:52 +01:00
|
|
|
|
2023-03-09 10:54:19 +01:00
|
|
|
config.vm.define "kp-root-node" do |rootNode|
|
|
|
|
rootNode.vm.hostname = "kp-root-node"
|
|
|
|
rootNode.vm.network :private_network, ip: "192.168.123.10", :libvirt_network_mage => "kp_wg_network"
|
|
|
|
rootNode.vm.provider :kvm do | kvm, override |
|
|
|
|
kvm.memory_size = '2048m'
|
|
|
|
end
|
|
|
|
rootNode.vm.provider :libvirt do |libvirt, override|
|
|
|
|
libvirt.memory = 2048
|
|
|
|
libvirt.nested = true
|
|
|
|
libvirt.cpus = 2
|
|
|
|
end
|
|
|
|
|
|
|
|
# Ansible provisioning
|
|
|
|
rootNode.vm.provision "server_init", type:'ansible' do |ansible|
|
|
|
|
ansible.playbook = "playbooks/server_init.yml"
|
|
|
|
ansible.become = true
|
|
|
|
ansible.host_key_checking = false
|
2023-03-09 18:24:52 +01:00
|
|
|
ansible.verbose = "vv"
|
|
|
|
ansible.extra_vars = {
|
|
|
|
"n_peer_nodes" => n_peer_nodes
|
|
|
|
}
|
2023-03-09 10:54:19 +01:00
|
|
|
end
|
|
|
|
end
|
2023-03-09 18:24:52 +01:00
|
|
|
|
|
|
|
(1..n_peer_nodes).each do |i|
|
2023-03-09 10:54:19 +01:00
|
|
|
config.vm.define "kp-client#{i}" do |client|
|
|
|
|
client.vm.hostname = "kp-client#{i}"
|
|
|
|
client.vm.network :private_network, ip: "192.168.123.1#{i}", :libvirt_network_mage => "kp_wg_network"
|
|
|
|
client.vm.provider :kvm do | kvm, override |
|
|
|
|
kvm.memory_size = '2048m'
|
|
|
|
end
|
|
|
|
client.vm.provider :libvirt do |libvirt, override|
|
|
|
|
libvirt.memory = 1024
|
|
|
|
libvirt.nested = true
|
|
|
|
libvirt.cpus = 1
|
|
|
|
end
|
2023-03-09 18:24:52 +01:00
|
|
|
|
|
|
|
# Ansible provisioning
|
|
|
|
client.vm.provision "server_init", type:'ansible' do |ansible|
|
|
|
|
ansible.playbook = "playbooks/peer_init.yml"
|
|
|
|
ansible.become = true
|
|
|
|
ansible.host_key_checking = false
|
|
|
|
ansible.verbose = "vv"
|
|
|
|
end
|
2023-03-09 10:54:19 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|