diff --git a/doc/configuration.rst b/doc/configuration.rst index fd6a7eeb..238dc0b3 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -1652,6 +1652,8 @@ OSBuild Composer for building images * ``arches`` -- list of architectures for which to build the image. By default, the variant arches are used. This option can only restrict it, not add a new one. + * ``manifest_type`` -- the image type that is put into the manifest by + pungi. If not supplied then it is autodetected from the Koji output. * ``ostree_url`` -- URL of the repository that's used to fetch the parent commit from. * ``ostree_ref`` -- name of the ostree branch diff --git a/pungi/checks.py b/pungi/checks.py index d6ffabe1..abdbf46c 100644 --- a/pungi/checks.py +++ b/pungi/checks.py @@ -1244,6 +1244,7 @@ def make_schema(): "ostree_url": {"type": "string"}, "ostree_ref": {"type": "string"}, "ostree_parent": {"type": "string"}, + "manifest_type": {"type": "string"}, "upload_options": { # this should be really 'oneOf', but the minimal # required properties in AWSEC2 and GCP options diff --git a/pungi/phases/osbuild.py b/pungi/phases/osbuild.py index aef1f008..19bc23e2 100644 --- a/pungi/phases/osbuild.py +++ b/pungi/phases/osbuild.py @@ -249,7 +249,14 @@ class RunOSBuildThread(WorkerThread): # Update image manifest img = Image(compose.im) - img.type = archive["type_name"] if archive["type_name"] != "iso" else "dvd" + + # Get the manifest type from the config if supplied, otherwise we + # determine the manifest type based on the koji output + img.type = config.get( + "manifest_type", + archive["type_name"] if archive["type_name"] != "iso" else "dvd", + ) + img.format = suffix img.path = os.path.join(rel_image_dir, archive["filename"]) img.mtime = util.get_mtime(image_dest)