Development VM
To ensure compatibility across distribution, this project ships a wide range of development and tests VM images.
The test VMs can be built locally using cloud-init, packer on Qemu/KVM using Libvirt. No other hypervisor will be targeted for these tests. The files that generate these images can be found in the tests/packer directory. The VMs are fully managed using a justfile that provide an integration environment helper for apparmor.d
.
Integration environment helper for apparmor.d
Available recipes:
default # Show this help message
package dist # Build the apparmor.d package
img dist flavor # Build the image
vm dist flavor # Create the machine
up dist flavor # Start a machine
halt dist flavor # Stops the machine
destroy dist flavor # Destroy the machine
ssh dist flavor # Connect to the machine
list # List the machines
images # List the machine images
available # List the machine that can be created
integration dist flavor # Run the integration tests on the machine
lint # Run the linters
clean # Remove the machine images
get_ip dist flavor
get_osinfo dist
Requirements¶
Note
You may need to edit some settings to fit your setup:
- The default ssh key and ISO directory in
tests/packer/variables.pkr.hcl
Build¶
One can see the available images by running:
Distribution Flavor
archlinux gnome
archlinux kde
archlinux server
archlinux xfce
debian12 gnome
debian12 kde
debian12 server
ubuntu24 server
...
A VM image can be build with:
The image will then be showed in the list of images:
The VM can then be created with:
And connected to with:
Develop¶
Credentials
The admin user is: user
, its password is: user
. It has passwordless sudo access. Automatic login is not enabled on DE. The root user is not locked.
Directories
All the images come pre-configured with the latest version of apparmor.d
installed and running in the VM. The apparmor.d project directory is mounted as /home/user/Projects/apparmor.d
Usage
On all images, aa-update
can be used to rebuild and install the latest version of the profiles. p
, pf
, and pu
are two pre-configured aliases of ps
that show the security status of processes. htop
is also configured to show this status.