# -*- mode: ruby -*- # vi: set ft=ruby : # ============================================================================= # Vagrantfile — VM de test ja4ebpf sur Rocky Linux 9 # # Fournit un environnement kernel complet pour les tests eBPF : # - tracefs / debugfs montés # - perf_kprobe PMU disponible # - uprobes fonctionnels avec accept4 kprobe/tracepoint # # Prérequis (host Ubuntu) : # sudo apt-get install -y vagrant libvirt-daemon-system libvirt-clients \ # qemu-kvm ruby-libvirt # vagrant plugin install vagrant-libvirt # sudo usermod -aG libvirt,kvm $USER # puis se reconnecter # # Utilisation : # vagrant up # créer + provisionner la VM (première fois ~5 min) # vagrant ssh # connexion SSH # make test-vm-nginx # lancer les tests depuis le host # vagrant destroy -f # détruire la VM # ============================================================================= Vagrant.configure("2") do |config| # ── Box Rocky Linux 9 ────────────────────────────────────────────────────── config.vm.box = "generic/rocky9" # ── Réseau : IP privée pour accès depuis le host ─────────────────────────── config.vm.network "private_network", ip: "192.168.56.10" # ── Ressources VM ───────────────────────────────────────────────────────── config.vm.provider :libvirt do |v| v.cpus = 4 v.memory = 4096 v.nested = false # pas besoin de virtualisation imbriquée # Pour VirtualBox (fallback) end config.vm.provider :virtualbox do |v| v.cpus = 4 v.memory = 4096 v.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"] end # ── Montage du projet ───────────────────────────────────────────────────── # Le répertoire racine du projet est monté dans /ja4-platform config.vm.synced_folder "../..", "/ja4-platform", type: "rsync", rsync__exclude: [".git/", "old/", "*.rpm", "services/*/target/"] # ── Provisioning ───────────────────────────────────────────────────────── config.vm.provision "shell", path: "provision.sh" # ── Message post-démarrage ──────────────────────────────────────────────── config.vm.post_up_message = <<~MSG VM ja4ebpf prête ! Depuis le répertoire tests/vm/ : vagrant ssh # connexion interactive make -C ../.. test-vm-nginx # lancer le test nginx make -C ../.. test-vm-matrix # lancer tous les tests IP de la VM : 192.168.56.10 MSG end