From 6b686ada5c9cc234a81fba1299521ebefe2b8396 Mon Sep 17 00:00:00 2001 From: Guillem Hernandez Sola Date: Wed, 8 Apr 2026 11:21:13 +0200 Subject: [PATCH] Libvirt vagrant fiel --- libvirtVagrantfile | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 libvirtVagrantfile diff --git a/libvirtVagrantfile b/libvirtVagrantfile new file mode 100644 index 0000000..a5f94e5 --- /dev/null +++ b/libvirtVagrantfile @@ -0,0 +1,54 @@ +Vagrant.configure("2") do |config| + # Configuració global per a libvirt + config.vm.provider :libvirt do |libvirt| + libvirt.memory = 2048 # Recomanat per a Jenkins i Agents + libvirt.cpus = 2 + end + + # --- NODE JENKINS --- + config.vm.define "jenkins" do |jenkins| + jenkins.vm.box = "bento/ubuntu-24.04" + jenkins.vm.hostname = "jenkins" + # En libvirt, les IPs fixes es gestionen sovint via 'public_network' + # o 'private_network' amb un bridge virtual. + jenkins.vm.network "private_network", ip: "192.168.11.11" + # Forwarded ports (libvirt els gestiona via NAT/iptables) + jenkins.vm.network "forwarded_port", guest: 8080, host: 8080 + jenkins.vm.network "forwarded_port", guest: 50000, host: 50000 + jenkins.vm.provision :shell, :path => "jenkins.sh" + end + + # --- NODE AGENT --- + config.vm.define "agent" do |agent| + agent.vm.box = "bento/ubuntu-24.04" + agent.vm.hostname = "agent" + agent.vm.network "private_network", ip: "192.168.11.13" + + # Ports de serveis (Docker, SonarQube, etc.) + agent.vm.network "forwarded_port", guest: 2376, host: 2376 + agent.vm.network "forwarded_port", guest: 4243, host: 4243 + agent.vm.network "forwarded_port", guest: 9999, host: 9999 + agent.vm.network "forwarded_port", guest: 9000, host: 9000 + agent.vm.network "forwarded_port", guest: 3000, host: 3000 + agent.vm.network "forwarded_port", guest: 50000, host: 50001 + + # Rangs de ports per a contenidors dinàmics + (32770..32900).each do |port| + agent.vm.network :forwarded_port, guest: port, host: port + end + + # Provisioning + agent.vm.provision :shell, :path => "ansible.sh" + agent.vm.provision :shell, :path => "docker.sh" + agent.vm.provision :shell, :path => "sonarqube.sh" + agent.vm.provision :shell, :path => "terraform.sh" + end + + # --- NODE AGENT 2 --- + config.vm.define "agent2" do |agent2| + agent2.vm.box = "bento/ubuntu-24.04" + agent2.vm.hostname = "agent2" + agent2.vm.network "private_network", ip: "192.168.11.14" + end + +end \ No newline at end of file