A virtual appliance for building cyber labs, challenges and competitions
Foundry Appliance is a virtual machine that integrates cyber workforce development apps from the Software Engineering Institute at Carnegie Mellon University.
This project builds the virtual appliance using Ubuntu and K3s—a lightweight Kubernetes environment. Pre-built OVA images are also available under Releases.
After deploying the appliance, visit https://foundry.local to begin using the apps. Or login using the VM console:
username: foundry
password: foundry
The following SEI apps are loaded on the appliance:
- Identity - OAuth2/OIDC identity provider
- TopoMojo - Virtual lab builder and player
- Gameboard - Competition manager
To build the appliance, you will need:
- Packer 1.7+
- A compatible hypervisor:
- VirtualBox (
virtualbox
) - Fusion/Workstation (
vmware
) - ESXi (
vsphere
)
- VirtualBox (
To build the appliance using an ESXi server, create a file named vsphere.auto.pkrvars.hcl
in this directory and add these settings:
vcenter_server = "<vCenter or ESXi FQDN>"
vsphere_username = "administrator@vsphere.local"
vsphere_password = "<password>"
vsphere_cluster = "<cluster>" # vCenter only
vsphere_datastore = "<datastore>"
vsphere_network = "<portgroup>" # internet access required
Run the following command, where <hypervisor>
is a comma-delimited list of target hypervisors:
./build-appliance <hypervisor>
For example, to build the appliance with Fusion or Workstation, run this command:
./build-appliance vmware
To add VirtualBox to the previous build, run this command:
./build-appliance vmware,virtualbox
Packer build
options can be appended to the end of the command. For example, this will save partial builds and automatically overwrite the previous build (useful for debugging):
./build-appliance <hypervisor> -on-error=abort -force