-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathVagrantfile
More file actions
108 lines (87 loc) · 3.1 KB
/
Vagrantfile
File metadata and controls
108 lines (87 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# -*- mode: ruby -*-
# vi: set ft=ruby :
#
# Smoke-test VMs for quadletman packages.
# See docs/packaging.md for full instructions.
#
# Usage:
# vagrant up fedora # Fedora RPM + SELinux smoke test
# vagrant up ubuntu # Ubuntu DEB smoke test
# vagrant up debian # Debian DEB smoke test
# vagrant up # all VMs (only primary auto-starts)
# vagrant rsync && vagrant provision # push code changes then re-test
# vagrant ssh fedora # shell into the Fedora VM
# vagrant ssh ubuntu # shell into the Ubuntu VM
# vagrant ssh debian # shell into the Debian VM
# vagrant destroy -f # tear down all VMs
RSYNC_EXCLUDES = [
".git/",
".venv/",
"__pycache__/",
"*.egg-info/",
"dist/",
"build/",
"node_modules/",
]
Vagrant.configure("2") do |config|
# ---------- Fedora (RPM + SELinux) ----------
config.vm.define "fedora", primary: true do |fedora|
fedora.vm.box = "bento/fedora-41"
fedora.vm.hostname = "quadletman-smoke-fedora"
fedora.vm.network "forwarded_port", guest: 8080, host: 8081, host_ip: "127.0.0.1"
fedora.vm.provider "libvirt" do |lv|
lv.memory = 2048
lv.cpus = 2
end
fedora.vm.provider "virtualbox" do |vb|
vb.name = "quadletman-smoke-fedora"
vb.memory = 2048
vb.cpus = 2
vb.customize ["modifyvm", :id, "--ioapic", "on"]
end
fedora.vm.synced_folder ".", "/vagrant/quadletman",
type: "rsync",
rsync__exclude: RSYNC_EXCLUDES
fedora.vm.provision "shell", path: "packaging/smoke-test-vm.sh"
end
# ---------- Ubuntu (DEB) ----------
config.vm.define "ubuntu", autostart: false do |ubuntu|
ubuntu.vm.box = "bento/ubuntu-24.04"
ubuntu.vm.hostname = "quadletman-smoke-ubuntu"
ubuntu.vm.network "forwarded_port", guest: 8080, host: 8082, host_ip: "127.0.0.1"
ubuntu.vm.provider "libvirt" do |lv|
lv.memory = 2048
lv.cpus = 2
end
ubuntu.vm.provider "virtualbox" do |vb|
vb.name = "quadletman-smoke-ubuntu"
vb.memory = 2048
vb.cpus = 2
vb.customize ["modifyvm", :id, "--ioapic", "on"]
end
ubuntu.vm.synced_folder ".", "/vagrant/quadletman",
type: "rsync",
rsync__exclude: RSYNC_EXCLUDES
ubuntu.vm.provision "shell", path: "packaging/smoke-test-vm-deb.sh"
end
# ---------- Debian (DEB, minimal) ----------
config.vm.define "debian", autostart: false do |debian|
debian.vm.box = "bento/debian-13"
debian.vm.hostname = "quadletman-smoke-debian"
debian.vm.network "forwarded_port", guest: 8080, host: 8083, host_ip: "127.0.0.1"
debian.vm.provider "libvirt" do |lv|
lv.memory = 2048
lv.cpus = 2
end
debian.vm.provider "virtualbox" do |vb|
vb.name = "quadletman-smoke-debian"
vb.memory = 2048
vb.cpus = 2
vb.customize ["modifyvm", :id, "--ioapic", "on"]
end
debian.vm.synced_folder ".", "/vagrant/quadletman",
type: "rsync",
rsync__exclude: RSYNC_EXCLUDES
debian.vm.provision "shell", path: "packaging/smoke-test-vm-deb.sh"
end
end