Skip to content

CLI reference

Convert OCI images into bootable VM disk bundles

contemper build

Build an image with docker buildx or podman and convert it into a bootable VM disk bundle

contemper build [flags] [context]

Flags

      --arch string              target architecture: amd64, arm64, a comma-separated list of them, or all (every architecture the source provides; convert only); defaults to host
      --build-arg stringArray    set a build-time variable: --build-arg KEY=VALUE, repeatable
      --engine string            build engine: auto (docker buildx if usable, else podman), docker or podman (default "auto")
  -f, --file string              path to the Containerfile/Dockerfile (default: <context>/Dockerfile, or <context>/Containerfile when there is no Dockerfile)
      --image-only               stop after building the image and loading it into the engine's image store; print the image reference instead of converting it
      --keep-raw                 keep the intermediate disk.raw file
      --max-rootfs-size string   raise the limit on the content read from an image (default: 64GiB in total, 32GiB for one file; e.g. 200GiB)
      --no-fstab                 don't append fstab lines for declared volumes or the ESP
      --no-volume-helper         don't merge the volume-formatting helper even if volumes are declared
  -o, --out string               directory to write the bundle into, as a subdirectory named after the image (a previous bundle of that name is replaced) (default ".")
      --progress string          progress output: auto, tty, or plain (default "auto")
  -q, --quiet                    suppress progress output (stdout still prints the bundle path)
      --root-size string         override the root partition size (e.g. 2GiB)
      --support string           support image reference; replaces the target's default
  -t, --tag string               image tag (default: derived from the context directory's name, tagged dev)
      --target string            conversion target (qemu, incus; or canonical qemu-qcow2, incus-qcow2)
  -v, --verbose                  show each host tool invocation
      --volume-helper string     override the volume-formatting support image (default: ghcr.io/contemper-project/volumes-support:v1)

contemper completion

Generate the autocompletion script for the specified shell

Generate the autocompletion script for contemper for the specified shell. See each sub-command's help for details on how to use the generated script.

contemper completion

contemper convert

Convert a contemper-ready OCI image into a bootable VM disk bundle

contemper convert [flags] <source-ref>

Flags

      --arch string              target architecture: amd64, arm64, a comma-separated list of them, or all (every architecture the source provides; convert only); defaults to host
      --keep-raw                 keep the intermediate disk.raw file
      --max-rootfs-size string   raise the limit on the content read from an image (default: 64GiB in total, 32GiB for one file; e.g. 200GiB)
      --no-fstab                 don't append fstab lines for declared volumes or the ESP
      --no-volume-helper         don't merge the volume-formatting helper even if volumes are declared
  -o, --out string               directory to write the bundle into, as a subdirectory named after the image (a previous bundle of that name is replaced) (default ".")
      --progress string          progress output: auto, tty, or plain (default "auto")
  -q, --quiet                    suppress progress output (stdout still prints the bundle path)
      --root-size string         override the root partition size (e.g. 2GiB)
      --support string           support image reference; replaces the target's default
      --target string            conversion target (qemu, incus; or canonical qemu-qcow2, incus-qcow2)
  -v, --verbose                  show each host tool invocation
      --volume-helper string     override the volume-formatting support image (default: ghcr.io/contemper-project/volumes-support:v1)

contemper deploy

Deploy a contemper bundle

contemper deploy [flags] <bundle-dir | group-file>

Flags

      --arch string          architecture to boot from a group file (default: the host's); must match a bundle directory's
      --expect string        exit 0 once this string appears on the serial console
      --name string          local-qemu instance name (default: the source image's repository name)
      --progress string      progress output: auto, tty, or plain (default "auto")
  -q, --quiet                suppress progress output
      --serial-log string    file to write the VM's serial console to
      --timeout string       timeout waiting for --expect (default "60s")
      --to string            deploy target (local-qemu)
  -v, --verbose              show the qemu invocation
      --volume stringArray   set or override a volume's size: --volume <path>=<size>, repeatable

contemper version

Print the contemper version

contemper version