Skip to content

You are viewing documentation for Instruqt 2.0 Labs which is in Beta currently. Official release date - 29 September, 2026. For Tracks documentation, please visit docs.instruqt.com.

Import an image


If you already have a VM disk — as a GCP Compute Engine image, or as a file on your machine — you can import it rather than rebuilding it. The import converts the disk, prepares it for reuse and registers it in your team’s catalog as a new image at team-slug/name, with its first version tagged v1.

Imports run headless. There is no VM to attach to and nothing to drive: you start one and watch it in Drafts on the images list.

  1. In the sidebar, click Building blocksImages.
  2. Click ImportGCP Image.
  3. Enter an Image name. This becomes team-slug/name, and it has to be free within your team.
  4. Enter the GCP image reference — either a self-link, or projects/<project>/global/images/<image>.
  5. Click Import.

Pin a specific image. Image families (projects/<project>/global/images/family/<family>) are refused, because the whole point of an import is that you know what you imported.

The image also has to be reachable from Instruqt’s export project — a private image in a project Instruqt cannot read will fail.

  1. In the sidebar, click Building blocksImages.
  2. Click ImportImage File.
  3. Enter an Image name.
  4. Drop a disk onto the upload area, or click Choose a disk. qcow2, raw and VMDK are supported, up to 150 GB.
  5. Click Import.

The file does not pass through the Instruqt API — your browser uploads it straight to storage, and the import is pointed at what landed. Keep the dialog open while it uploads; for a real disk that is minutes, and the progress bar is in the dialog. The upload is resumable, and Cancel upload stops it without starting anything.

Both paths prepare the disk before registering it, so it behaves like a base image rather than like a clone of one particular machine:

  • Cloud-init state is reset, so every lab that boots from it gets a clean first boot.
  • GCE-specific configuration is removed, so the disk works under Instruqt’s QEMU environment.
  • Machine-specific identity — the machine ID, SSH host keys — is cleared.

A raw or VMDK disk is converted to qcow2 along the way.

The import appears in Drafts above the catalog with an Importing badge and a line saying where it is:

PhaseWhat is happening
Copying source image…The source is being copied into Instruqt’s export project. GCP imports only.
Exporting disk…The image is being exported to a disk file. GCP imports only.
Preparing image…The disk is being converted and prepared.
Publishing…The result is being pushed to the registry.

When it finishes, the draft row disappears and the image is in the catalog as Published. A failed import stays as a Failed row with its error; Dismiss clears it.

Opening an importing session’s URL directly tells you there is nothing to drive — the drafts list is where an import is watched.

An imported image is an ordinary team image. From there you can:

  • Boot labs from it by referencing team-slug/name. See Use an image in a lab.
  • Build on top of it with New version, the same as any other image.
  • Write its readme, so the rest of the team knows what is in it. See Manage images and versions.
LimitValue
Upload size150 GB
Disk formatsqcow2, raw, VMDK
GCP sourcesA specific Compute Engine image, reachable from Instruqt’s export project. Image families are not supported.
NameMust be free within your team. A collision is refused before the import starts.