Skip to content

You are viewing documentation for Instruqt 2.0 Labs. For Tracks documentation, please visit docs.instruqt.com.

Virtual Machine


A Virtual Machine resource lets you create and configure VM-based compute for a lab sandbox. Use a VM when your lab needs a full operating system environment, OS-level services, package installation, system configuration, or workloads that do not fit a container-only model.

Through the UI, you can define the VM image, resources, startup script, environment variables, networking, ports, disks, volumes, and health checks without writing configuration files. You can also connect VMs to sandbox networks and use them as targets for terminal and service tabs.

VMs are useful for labs that need stronger OS isolation or a closer match to real infrastructure while still using the same sandbox workflow as containers and networks.

Virtual Machine resources can be created in the Sandbox tab. To create a new Virtual Machine resource, navigate to the Sandbox tab and click the + button. Select Virtual Machine from the dropdown menu.

Start by naming the VM. This name is internal and becomes the VM hostname at runtime. The form shows the computed hostname so you can see how other sandbox resources can reach the VM.

Choose an image from the preset list or enter your own public or private image. For private images, add the registry username and password fields in the Image section.

To edit a Virtual Machine resource, select it from the list of existing sandbox resources in the Sandbox tab. Click the VM you want to edit, make your changes in the configuration panel, and then click Add changes to save your updates. See Editing & Publishing for how changes are reviewed and published.

The Virtual Machine form is organized into collapsible sections. The Image and Resources sections are expanded by default. All other sections are collapsed and can be expanded by clicking on them.

FieldRequired?DefaultDescription
Image✓VM image to boot
UsernameOptional username for pulling a private image
PasswordOptional password or token for pulling a private image
FieldRequired?DefaultDescription
Memory2048Memory allocated to the VM in MB
CPU2CPU allocation for the VM
FieldRequired?DefaultDescription
Startup ScriptScript that runs once when the VM boots
FieldRequired?DefaultDescription
Environment VariablesKey-value pairs exported into the VM environment
FieldRequired?DefaultDescription
DNS ServerOptional DNS server IP address used by the VM
FieldRequired?DefaultDescription
Network✓Existing network resource to attach to the VM
IP AddressOptional static IP address in the selected network
NameOptional name for this VM network attachment
AliasesOptional DNS aliases for the VM on the selected network. Resolve an alias from a VM by its FQDN (<alias>.sandbox.internal).
FieldRequired?DefaultDescription
Local✓Port the app listens on inside the VM
HostOptional host port to bind
ProtocoltcpProtocol type: TCP or UDP
FieldRequired?DefaultDescription
Range✓Consecutive port range to expose, for example 3000-3010
Enable hostfalseMap the range to host ports
ProtocoltcpProtocol type: TCP or UDP
FieldRequired?DefaultDescription
DestinationAbsolute path inside the VM where the disk is mounted
SizeDisk size, for example 20G
SourceSource image URL or path
TypeDisk type, for example qcow2 or raw
ReadonlyfalseMount the disk as read-only
FieldRequired?DefaultDescription
Source✓Path on the host or managed volume name
Destination✓Intended path inside the VM
Read onlyfalseAttach the share as read-only
FieldRequired?DefaultDescription
Timeout30sHealth check timeout

Health checks support three modes:

HTTP

FieldRequired?DefaultDescription
Address✓Health check URL
MethodGETHTTP method
BodyRequest body
HeadersHTTP headers
Success codes200Expected success codes

TCP

FieldRequired?DefaultDescription
Address✓Health check address

Exec

FieldRequired?DefaultDescription
CommandHealth check command
ScriptHealth check script
Exit code0Expected exit code

The Virtual Machine resource adds full-OS compute to your sandbox. Use it for labs that need VM behavior, system services, disks, or runtime setup beyond what a container provides.

For most interactive VM labs, attach the VM to a sandbox network, configure the required ports or service tabs, and add a terminal tab when users need shell access.