Skip to content

systems-cs-pub-ro/uso-infrastructure

Repository files navigation

Build system for USO VMs

This repository contains the build system used for generating USO VMs for labs and ctf.

Development guide

Prerequisites

Install the following dependencies on your machine:

Packer requires the following plugins to be installed:

# Get Packer required plugins automatically
packer init ubuntu-25-04-vbox-amd64.pkr.hcl
# Or install them manually
packer plugins install github.com/hashicorp/virtualbox
packer plugins install github.com/hashicorp/ansible

Technical Details

The lifecycle of building the VM is:

  • download the corresponding Ubuntu image and configure the VM resources using packer. All the configs are available in ubuntu-*.pkr.hcl.
  • allow installation leveraging cloud-init and the autoinstall feature from Ubuntu. The configuration available in the GUI installation wizard are available in scripts/autoinst/ubuntu-*-autoinstall,yml.
  • all the other config required for the USO lab environment are set using ansible. The scrips are available in scripts/ansible/*.yml

How to Build the VM

A Makefile is availale for building the VM:

make

For debugging purposes, start the build as following:

PACKER_LOG=1 packer build -var headless=false ubuntu-*-vbox.pkr.hcl

References

The cookbook guid for configuring VMs are available at the following link.

The scripts were inspired from this repository.

About

Infrastructure for USO.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •