I’m not sure if this is me driving it wrong, or there’s something I don’t understand in the tool.
I’ve created an image with some properties, including “description” set by incus publish ... description=..... I can see it in the image:
$ incus image list
+-----------+--------------+--------+--------------------------------------------+--------------+-----------+-----------+----------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | UPLOAD DATE |
+-----------+--------------+--------+--------------------------------------------+--------------+-----------+-----------+----------------------+
| vtp | 0693a9739166 | yes | Virtual Training Platform (20260326_15:45) | x86_64 | CONTAINER | 513.83MiB | 2026/03/26 15:46 UTC |
+-----------+--------------+--------+--------------------------------------------+--------------+-----------+-----------+----------------------+
Then I export the image, and I can see the description has made it through to metadata.yaml:
$ cat metadata.yaml
architecture: x86_64
creation_date: 1774539908
expiry_date: 1776764486
properties:
architecture: amd64
description: Virtual Training Platform (20260326_15:45) <<<< NOTE
name: ubuntu-noble-amd64-cloud-20260322_09:33 < (Didn't bother to replace this one)
os: vtp
release: main
serial: "20260326_15:45"
variant: default
templates:
...
Then I import to a webserver using incus-simplestreams add. The problem is that at this point, the description seems to be ignored, and replaced with a generic “{os} {release} {arch} ({time})”
# incus-simplestreams list
+------------------------------------------------------------------+-------------------------------------+-----------+---------+---------+--------------+-----------+----------------------+
| FINGERPRINT | DESCRIPTION | OS | RELEASE | VARIANT | ARCHITECTURE | TYPE | CREATED |
+------------------------------------------------------------------+-------------------------------------+-----------+---------+---------+--------------+-----------+----------------------+
| 0693a9739166917fe643dc99f1dd6e6c6fe383b715dbbd5fac7869e97f7036d6 | vtp main amd64 (202603261545) | vtp | main | default | x86_64 | container | 2026/03/26 00:00 UTC |
+------------------------------------------------------------------+-------------------------------------+-----------+---------+---------+--------------+-----------+-------------
I see the same when I query from a remote client:
$ incus image info nsrc:vtp
...
Properties:
os: vtp
release: main
architecture: amd64
serial: 202603261545
description: vtp main amd64 (202603261545) <<< HERE
variant: default
type: tar.gz
(Aside: the serial has also changed from what was originally published)
However, the help text implies that the description property should be used:
# incus-simplestreams add --help
Description:
Add an image to the server
This command parses the metadata tarball to retrieve the following fields from its metadata.yaml:
- architecture
- creation_date
- properties["description"] <<<<< HERE
- properties["os"]
- properties["release"]
- properties["variant"]
- properties["architecture"]
If I look in streams/v1/{images.json,index.json} I can see neither the original description from the published image, nor the new description.
Is the “description” property synthesized by incus-simplestreams list, and by the client? In which case, is there any point setting it in the image?
I am using incus-simplestreams from incus-extra 1:6.22-ubuntu22.04-202603220542 (Zabbly)
Thanks,
Brian.