hcloud-upload-image/docs/cli/hcloud-upload-image_upload.md
Julian Tölle ac3e9dd7ec
feat: upload qcow2 images (#69)
It is now possible to upload qcow2 images. These images will be
converted to raw disk images on the cloud server.

In the CLI you can use the new `--format=qcow2` flag to upload qcow2
images. In the library you can set `UploadOptions.ImageFormat` to
`FormatQCOW2`.

Because of the underlying process, qcow2 images need to be written to a
file first. This limits their size to 960 MB at the moment. The CLI
automatically checks the file size (if possible) and shows a warning if
this limit would be triggered. The library accepts an input with the
file size and logs a warning if the limit would be triggered.

Closes #44
2025-05-04 00:28:11 +02:00

2.2 KiB

hcloud-upload-image upload

Upload the specified disk image into your Hetzner Cloud project.

Synopsis

This command implements a fake "upload", by going through a real server and snapshots. This does cost a bit of money for the server.

Image Size

The image size for raw disk images is only limited by the servers root disk.

The image size for qcow2 images is limited to the rescue systems root disk. This is currently a memory-backed file system with 960 MB of space. A qcow2 image not be larger than this size, or the process will error. There is a warning being logged if hcloud-upload-image can detect that your file is larger than this size.

hcloud-upload-image upload (--image-path=<local-path> | --image-url=<url>) --architecture=<x86|arm> [flags]

Examples

  hcloud-upload-image upload --image-path /home/you/images/custom-linux-image-x86.bz2 --architecture x86 --compression bz2 --description "My super duper custom linux"
  hcloud-upload-image upload --image-url https://examples.com/image-arm.raw --architecture arm --labels foo=bar,version=latest
  hcloud-upload-image upload --image-url https://examples.com/image-x86.qcow2 --architecture x86 --format qcow2

Options

      --architecture string     CPU architecture of the disk image [choices: x86, arm]
      --compression string      Type of compression that was used on the disk image [choices: bz2, xz]
      --description string      Description for the resulting image
      --format string           Format of the image. [choices: qcow2]
  -h, --help                    help for upload
      --image-path string       Local path to the disk image that should be uploaded
      --image-url string        Remote URL of the disk image that should be uploaded
      --labels stringToString   Labels for the resulting image (default [])
      --server-type string      Explicitly use this server type to generate the image. Mutually exclusive with --architecture.

Options inherited from parent commands

  -v, --verbose count   verbose debug output, can be specified up to 2 times

SEE ALSO