diff --git a/SOURCES/0004-simplified-installer-enable-isolinux.patch b/SOURCES/0004-simplified-installer-enable-isolinux.patch new file mode 100644 index 0000000..58b78ca --- /dev/null +++ b/SOURCES/0004-simplified-installer-enable-isolinux.patch @@ -0,0 +1,1499 @@ +From 38354fefff11c95cde11ad4d3796091e017bc8e8 Mon Sep 17 00:00:00 2001 +From: Antonio Murdaca +Date: Thu, 9 Mar 2023 22:12:22 +0100 +Subject: [PATCH 4/4] simplified-installer: enable isolinux + +Signed-off-by: Antonio Murdaca +--- + internal/distro/rhel8/edge.go | 1 + + internal/distro/rhel9/edge.go | 1 + + internal/image/ostree_simplified_installer.go | 7 ++- + internal/manifest/coi_iso_tree.go | 21 +++++++ + ...arch64-edge_simplified_installer-boot.json | 21 +++++++ + ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 21 +++++++ + ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 15 +++++ + ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 15 +++++ + ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 15 +++++ + ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 15 +++++ + ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 21 +++++++ + ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 15 +++++ + ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 21 +++++++ + ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ + ...arch64-edge_simplified_installer-boot.json | 21 +++++++ + ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ + 24 files changed, 749 insertions(+), 1 deletion(-) + +diff --git a/internal/distro/rhel8/edge.go b/internal/distro/rhel8/edge.go +index 13e668a14..6cb90a8ca 100644 +--- a/internal/distro/rhel8/edge.go ++++ b/internal/distro/rhel8/edge.go +@@ -328,6 +328,7 @@ func edgeSimplifiedInstallerPackageSet(t *imageType) rpmmd.PackageSet { + "policycoreutils", + "policycoreutils-python-utils", + "procps-ng", ++ "redhat-logos", + "rootfiles", + "setools-console", + "sudo", +diff --git a/internal/distro/rhel9/edge.go b/internal/distro/rhel9/edge.go +index 4a7c7406f..2598c9a2f 100644 +--- a/internal/distro/rhel9/edge.go ++++ b/internal/distro/rhel9/edge.go +@@ -465,6 +465,7 @@ func edgeSimplifiedInstallerPackageSet(t *imageType) rpmmd.PackageSet { + "policycoreutils", + "policycoreutils-python-utils", + "procps-ng", ++ "redhat-logos", + "rootfiles", + "setools-console", + "sudo", +diff --git a/internal/image/ostree_simplified_installer.go b/internal/image/ostree_simplified_installer.go +index c3c6da678..9a8d90068 100644 +--- a/internal/image/ostree_simplified_installer.go ++++ b/internal/image/ostree_simplified_installer.go +@@ -144,19 +144,24 @@ func (img *OSTreeSimplifiedInstaller) InstantiateManifest(m *manifest.Manifest, + }, + } + ++ // enable ISOLinux on x86_64 only ++ isoLinuxEnabled := img.Platform.GetArch() == platform.ARCH_X86_64 ++ + isoTreePipeline := manifest.NewCoreOSISOTree(m, + buildPipeline, + rawImage, + coiPipeline, + bootTreePipeline, + isoLabel) ++ isoTreePipeline.KernelOpts = kernelOpts + isoTreePipeline.PartitionTable = rootfsPartitionTable + isoTreePipeline.OSName = img.OSName + isoTreePipeline.PayloadPath = fmt.Sprintf("/%s", rawImageFilename) ++ isoTreePipeline.ISOLinux = isoLinuxEnabled + + isoPipeline := manifest.NewISO(m, buildPipeline, isoTreePipeline, isoLabel) + isoPipeline.Filename = img.Filename +- isoPipeline.ISOLinux = false ++ isoPipeline.ISOLinux = isoLinuxEnabled + + artifact := isoPipeline.Export() + return artifact, nil +diff --git a/internal/manifest/coi_iso_tree.go b/internal/manifest/coi_iso_tree.go +index 46d92eba5..89093e842 100644 +--- a/internal/manifest/coi_iso_tree.go ++++ b/internal/manifest/coi_iso_tree.go +@@ -28,6 +28,11 @@ type CoreOSISOTree struct { + PayloadPath string + + isoLabel string ++ ++ // Enable ISOLinux stage ++ ISOLinux bool ++ ++ KernelOpts []string + } + + func NewCoreOSISOTree(m *Manifest, +@@ -132,6 +137,22 @@ func (p *CoreOSISOTree) serialize() osbuild.Pipeline { + copyStage := osbuild.NewCopyStageSimple(copyStageOptions, copyStageInputs) + pipeline.AddStage(copyStage) + ++ if p.ISOLinux { ++ isoLinuxOptions := &osbuild.ISOLinuxStageOptions{ ++ Product: osbuild.ISOLinuxProduct{ ++ Name: p.coiPipeline.product, ++ Version: p.coiPipeline.version, ++ }, ++ Kernel: osbuild.ISOLinuxKernel{ ++ Dir: "/images/pxeboot", ++ Opts: p.KernelOpts, ++ }, ++ } ++ ++ isoLinuxStage := osbuild.NewISOLinuxStage(isoLinuxOptions, p.coiPipeline.Name()) ++ pipeline.AddStage(isoLinuxStage) ++ } ++ + copyInputs = osbuild.NewPipelineTreeInputs(inputName, p.bootTreePipeline.Name()) + pipeline.AddStage(osbuild.NewCopyStageSimple( + &osbuild.CopyStageOptions{ +diff --git a/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json +index fffd37ee3..3d39b43b7 100644 +--- a/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json +@@ -5371,6 +5371,14 @@ + } + } + }, ++ { ++ "id": "sha256:b8dd6d9549148d4469333794b0495817157913de2aa5a6827bb1e20e8cf58d56", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:8f0c85b97a40d8b22bcc6cda29c078fe8e8d6deff7ede90d9e755826fea2ff8c", + "options": { +@@ -6897,6 +6905,9 @@ + "sha256:b81e9cc635b9ef9cba61cee83da1bab028869ebc70ba96999925fe3cd1ea52df": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-aarch64-appstream-20220208/Packages/lorax-28.14.65-1.el8.aarch64.rpm" + }, ++ "sha256:b8dd6d9549148d4469333794b0495817157913de2aa5a6827bb1e20e8cf58d56": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-aarch64-appstream-20220208/Packages/centos-logos-85.8-2.el8.aarch64.rpm" ++ }, + "sha256:b938a6facc8d8a3de12b369871738bb531c822b1ec5212501b06bcaaf6cd25fa": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-aarch64-baseos-20220208/Packages/ncurses-libs-6.1-9.20180224.el8.aarch64.rpm" + }, +@@ -13174,6 +13185,16 @@ + "checksum": "sha256:6e23374341e975a1d29e46d141204cc8e847125be6aea898eea1d0b809a8b1a4", + "check_gpg": true + }, ++ { ++ "name": "centos-logos", ++ "epoch": 0, ++ "version": "85.8", ++ "release": "2.el8", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-aarch64-appstream-20220208/Packages/centos-logos-85.8-2.el8.aarch64.rpm", ++ "checksum": "sha256:b8dd6d9549148d4469333794b0495817157913de2aa5a6827bb1e20e8cf58d56", ++ "check_gpg": true ++ }, + { + "name": "clevis", + "epoch": 0, +diff --git a/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json +index d0ee7deac..261e37da0 100644 +--- a/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json +@@ -5498,6 +5498,14 @@ + } + } + }, ++ { ++ "id": "sha256:1bf9de8b1436ae1cb5624309a58c677e24dbdf70af96fd7de99cbe7c38655a85", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:270361d4856e4c3c0d3efa9b87655c3cb81a0193caf0e2bf8e10f311f0ba1ec6", + "options": { +@@ -6098,6 +6106,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "CentOS Stream", ++ "version": "8-stream" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=CentOS-Stream-8-x86_64-dvd", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -6139,7 +6178,12 @@ + "filename": "simplified-installer.iso", + "volid": "CentOS-Stream-8-x86_64-dvd", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -6296,6 +6340,9 @@ + "sha256:1b18f8d64433a5e74f3c0c0a962737833826527dfa6b9a26942506f7990885af": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-x86_64-baseos-20220208/Packages/python3-librepo-1.14.2-1.el8.x86_64.rpm" + }, ++ "sha256:1bf9de8b1436ae1cb5624309a58c677e24dbdf70af96fd7de99cbe7c38655a85": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-x86_64-appstream-20220208/Packages/centos-logos-85.8-2.el8.x86_64.rpm" ++ }, + "sha256:1c4b186665558747023a60d0d662d3780a1bc49e578062f4b70100c71ab2220c": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-x86_64-baseos-20220208/Packages/mokutil-0.3.0-11.el8.x86_64.rpm" + }, +@@ -13479,6 +13526,16 @@ + "checksum": "sha256:c0d2015fe322085dc5cb92709e1a2c852ce783f8436f9eaf38974a580435f4a2", + "check_gpg": true + }, ++ { ++ "name": "centos-logos", ++ "epoch": 0, ++ "version": "85.8", ++ "release": "2.el8", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-x86_64-appstream-20220208/Packages/centos-logos-85.8-2.el8.x86_64.rpm", ++ "checksum": "sha256:1bf9de8b1436ae1cb5624309a58c677e24dbdf70af96fd7de99cbe7c38655a85", ++ "check_gpg": true ++ }, + { + "name": "clevis", + "epoch": 0, +diff --git a/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json +index f922bc01a..fb57f958c 100644 +--- a/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json +@@ -3124,6 +3124,14 @@ + } + } + }, ++ { ++ "id": "sha256:7c4228a8b0b081ba72ca2c54a89724a10aedda91898475bab0de2e5b392c12bc", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:badd8729863d81a782324f3d6d14fd3b7435763c2623fcc95919f78374c99426", + "options": { +@@ -6809,6 +6817,9 @@ + "sha256:7b3c089462e362919b919e574cd71933e37e1781094a357cd352851608d65a6f": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-appstream-20230101/Packages/containers-common-1-46.el9.aarch64.rpm" + }, ++ "sha256:7c4228a8b0b081ba72ca2c54a89724a10aedda91898475bab0de2e5b392c12bc": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-appstream-20230101/Packages/centos-logos-90.4-1.el9.aarch64.rpm" ++ }, + "sha256:7ccc9d433def3922b81c136a1e3c6bd5882f16b80915b2b92145c7cca4eb1b6b": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-baseos-20230101/Packages/libtirpc-1.3.3-1.el9.aarch64.rpm" + }, +@@ -10467,6 +10478,16 @@ + "checksum": "sha256:287460070b8990140a3d2f3b5f7b66933452b2953a7db6b583d6b1b56c0ec962", + "check_gpg": true + }, ++ { ++ "name": "centos-logos", ++ "epoch": 0, ++ "version": "90.4", ++ "release": "1.el9", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-appstream-20230101/Packages/centos-logos-90.4-1.el9.aarch64.rpm", ++ "checksum": "sha256:7c4228a8b0b081ba72ca2c54a89724a10aedda91898475bab0de2e5b392c12bc", ++ "check_gpg": true ++ }, + { + "name": "checkpolicy", + "epoch": 0, +diff --git a/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json +index 51e2bbc6d..5902824d1 100644 +--- a/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json +@@ -3186,6 +3186,14 @@ + } + } + }, ++ { ++ "id": "sha256:a5eacdd23a3ac1480fbb62021db5bb380469f38d8c2a95d2742eae3f00d44482", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:00030b411b38c1ed0babef38334c1ca7505d1548e616d8689eb2a724034d9b28", + "options": { +@@ -6283,6 +6291,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "CentOS Stream", ++ "version": "9-stream" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=CentOS-Stream-9-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -6324,7 +6363,12 @@ + "filename": "simplified-installer.iso", + "volid": "CentOS-Stream-9-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -7078,6 +7122,9 @@ + "sha256:a42949a7f6c1750c6a07d55907ce7ac3b4b05d281eec0fd5926edc528fb61ab9": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-baseos-20230101/Packages/libgudev-237-1.el9.x86_64.rpm" + }, ++ "sha256:a5eacdd23a3ac1480fbb62021db5bb380469f38d8c2a95d2742eae3f00d44482": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-appstream-20230101/Packages/centos-logos-90.4-1.el9.x86_64.rpm" ++ }, + "sha256:a70fdda85cd771ef5bf5b17c2996e4ff4d21c2e5b1eece1764a87f12e720ab68": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-baseos-20230101/Packages/libmnl-1.0.4-15.el9.x86_64.rpm" + }, +@@ -10679,6 +10726,16 @@ + "checksum": "sha256:e454141f6b730c46833881ac3c83de618055629c18520574ad9fd1cf5fd18157", + "check_gpg": true + }, ++ { ++ "name": "centos-logos", ++ "epoch": 0, ++ "version": "90.4", ++ "release": "1.el9", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-appstream-20230101/Packages/centos-logos-90.4-1.el9.x86_64.rpm", ++ "checksum": "sha256:a5eacdd23a3ac1480fbb62021db5bb380469f38d8c2a95d2742eae3f00d44482", ++ "check_gpg": true ++ }, + { + "name": "checkpolicy", + "epoch": 0, +diff --git a/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json +index 63a5cbe3a..9a0321da5 100644 +--- a/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json +@@ -2266,6 +2266,9 @@ + { + "id": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" + }, ++ { ++ "id": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" ++ }, + { + "id": "sha256:c2f9ce9ba473dcb0b6a2e20b3362bfcc18762e26bcb1a0a871c2cd5724910c71" + }, +@@ -3906,6 +3909,9 @@ + "sha256:eb29b9d93a6c65047676592e7d90e042ecc18c8e6cf33d8241b30744e8571983": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/binutils-2.30-117.el8.aarch64.rpm" + }, ++ "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.aarch64.rpm" ++ }, + "sha256:ed28e1e31109e27ce1c676914364c9f1dd46b71d00cb4cf13931f0fec6cf6978": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/libtasn1-4.13-3.el8.aarch64.rpm" + }, +@@ -8996,6 +9002,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/readline-7.0-10.el8.aarch64.rpm", + "checksum": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "84.5", ++ "release": "1.el8", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.aarch64.rpm", ++ "checksum": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" ++ }, + { + "name": "redhat-release", + "epoch": 0, +diff --git a/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json +index fea9c2756..bbfb932bf 100644 +--- a/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json +@@ -2312,6 +2312,9 @@ + { + "id": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" + }, ++ { ++ "id": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" ++ }, + { + "id": "sha256:36c07f737470317af023136f3c03e74142c8ff0d55947655ed95970d215a6f9a" + }, +@@ -2810,6 +2813,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "Red Hat Enterprise Linux", ++ "version": "8.7" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=RHEL-8-7-0-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -2851,7 +2885,12 @@ + "filename": "simplified-installer.iso", + "volid": "RHEL-8-7-0-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -3512,6 +3551,9 @@ + "sha256:8ed24bf92f4a389d82399a2dfcdcd2b8812b354d32e50807ddf557b978532756": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-appstream-n8.7-20221015/Packages/libblockdev-loop-2.24-11.el8.x86_64.rpm" + }, ++ "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.x86_64.rpm" ++ }, + "sha256:8fc053b5c801ecbdd880e6676c7a8f43afa6730dff130c145fff37d1f00231f8": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/iwl2000-firmware-18.168.6.1-110.el8.1.noarch.rpm" + }, +@@ -9193,6 +9235,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/readline-7.0-10.el8.x86_64.rpm", + "checksum": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "84.5", ++ "release": "1.el8", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.x86_64.rpm", ++ "checksum": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" ++ }, + { + "name": "redhat-release", + "epoch": 0, +diff --git a/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json +index 89207defa..4ed0b40eb 100644 +--- a/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json +@@ -2272,6 +2272,9 @@ + { + "id": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" + }, ++ { ++ "id": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" ++ }, + { + "id": "sha256:244a7fe034af09c4048e6c92e6da4b835cef218c2ad1d2bc4db1386eec8cb56f" + }, +@@ -3909,6 +3912,9 @@ + "sha256:e9993e3d2d37f62717465ae2dbf8b741cd9c4767004fc2a829d68bdc89a7679e": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/libcom_err-1.45.6-2.el8.aarch64.rpm" + }, ++ "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/redhat-logos-84.5-1.el8.aarch64.rpm" ++ }, + "sha256:ebacfc5607f6ed16d4b53d7e642320caa0df3b5edf7253ba1286cc3a230af440": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/dbus-common-1.12.8-18.el8.noarch.rpm" + }, +@@ -9017,6 +9023,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/readline-7.0-10.el8.aarch64.rpm", + "checksum": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "84.5", ++ "release": "1.el8", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/redhat-logos-84.5-1.el8.aarch64.rpm", ++ "checksum": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" ++ }, + { + "name": "redhat-release", + "epoch": 0, +diff --git a/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json +index 20ce30d7c..9d534bbd7 100644 +--- a/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json +@@ -2318,6 +2318,9 @@ + { + "id": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" + }, ++ { ++ "id": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" ++ }, + { + "id": "sha256:9b1251422cfd498da3569583dea926198827e6e5fcf2a3d3d9c5521401ad0fc9" + }, +@@ -2813,6 +2816,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "Red Hat Enterprise Linux", ++ "version": "8.6" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=RHEL-8-6-0-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -2854,7 +2888,12 @@ + "filename": "simplified-installer.iso", + "volid": "RHEL-8-6-0-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -3551,6 +3590,9 @@ + "sha256:8ef984beb164090cc29ad2432377e98c37596443bef9142a01c676c02e62f057": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.6-20220201/Packages/rpm-libs-4.14.3-21.el8.x86_64.rpm" + }, ++ "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.6-20220201/Packages/redhat-logos-84.5-1.el8.x86_64.rpm" ++ }, + "sha256:8feb2ad7758487b1fa632fbc353cb4f93d2bdaf4d29262b9498baee122aa9502": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-appstream-n8.6-20220201/Packages/cloud-utils-growpart-0.31-3.el8.noarch.rpm" + }, +@@ -9214,6 +9256,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.6-20220201/Packages/readline-7.0-10.el8.x86_64.rpm", + "checksum": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "84.5", ++ "release": "1.el8", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.6-20220201/Packages/redhat-logos-84.5-1.el8.x86_64.rpm", ++ "checksum": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" ++ }, + { + "name": "redhat-release", + "epoch": 0, +diff --git a/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json +index ecd995d10..fd3997b47 100644 +--- a/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json +@@ -2266,6 +2266,9 @@ + { + "id": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" + }, ++ { ++ "id": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" ++ }, + { + "id": "sha256:c2f9ce9ba473dcb0b6a2e20b3362bfcc18762e26bcb1a0a871c2cd5724910c71" + }, +@@ -3906,6 +3909,9 @@ + "sha256:eb29b9d93a6c65047676592e7d90e042ecc18c8e6cf33d8241b30744e8571983": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/binutils-2.30-117.el8.aarch64.rpm" + }, ++ "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.aarch64.rpm" ++ }, + "sha256:ed28e1e31109e27ce1c676914364c9f1dd46b71d00cb4cf13931f0fec6cf6978": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/libtasn1-4.13-3.el8.aarch64.rpm" + }, +@@ -8996,6 +9002,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/readline-7.0-10.el8.aarch64.rpm", + "checksum": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "84.5", ++ "release": "1.el8", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.aarch64.rpm", ++ "checksum": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" ++ }, + { + "name": "redhat-release", + "epoch": 0, +diff --git a/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json +index 728292143..7f5c7b2bd 100644 +--- a/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json +@@ -2312,6 +2312,9 @@ + { + "id": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" + }, ++ { ++ "id": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" ++ }, + { + "id": "sha256:36c07f737470317af023136f3c03e74142c8ff0d55947655ed95970d215a6f9a" + }, +@@ -2810,6 +2813,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "Red Hat Enterprise Linux", ++ "version": "8.7" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=RHEL-8-7-0-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -2851,7 +2885,12 @@ + "filename": "simplified-installer.iso", + "volid": "RHEL-8-7-0-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -3512,6 +3551,9 @@ + "sha256:8ed24bf92f4a389d82399a2dfcdcd2b8812b354d32e50807ddf557b978532756": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-appstream-n8.7-20221015/Packages/libblockdev-loop-2.24-11.el8.x86_64.rpm" + }, ++ "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.x86_64.rpm" ++ }, + "sha256:8fc053b5c801ecbdd880e6676c7a8f43afa6730dff130c145fff37d1f00231f8": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/iwl2000-firmware-18.168.6.1-110.el8.1.noarch.rpm" + }, +@@ -9193,6 +9235,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/readline-7.0-10.el8.x86_64.rpm", + "checksum": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "84.5", ++ "release": "1.el8", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.x86_64.rpm", ++ "checksum": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" ++ }, + { + "name": "redhat-release", + "epoch": 0, +diff --git a/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json +index a417ce45e..bba931347 100644 +--- a/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json +@@ -2266,6 +2266,9 @@ + { + "id": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" + }, ++ { ++ "id": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" ++ }, + { + "id": "sha256:612bfe0f6aaef375518169a0d4d41a2945b09d6e9e297e83ecef82031c432490" + }, +@@ -3903,6 +3906,9 @@ + "sha256:e96db2f374859e49b6270520274aa0225c060dd4a5a9363e8fdceac206223901": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-appstream-n8.8-20221025/Packages/plymouth-0.9.4-11.20200615git1e36e30.el8.aarch64.rpm" + }, ++ "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.8-20221025/Packages/redhat-logos-84.5-1.el8.aarch64.rpm" ++ }, + "sha256:ec1e8c912cc2302e0e5b94d3d31dc40a6a1e082f14c69ef32400b8bfeef791c1": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.8-20221025/Packages/glibc-all-langpacks-2.28-216.el8.aarch64.rpm" + }, +@@ -8996,6 +9002,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.8-20221025/Packages/readline-7.0-10.el8.aarch64.rpm", + "checksum": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "84.5", ++ "release": "1.el8", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.8-20221025/Packages/redhat-logos-84.5-1.el8.aarch64.rpm", ++ "checksum": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" ++ }, + { + "name": "redhat-release", + "epoch": 0, +diff --git a/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json +index 7635c6385..1df88c376 100644 +--- a/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json +@@ -2312,6 +2312,9 @@ + { + "id": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" + }, ++ { ++ "id": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" ++ }, + { + "id": "sha256:26f7b39b6fc3f5ed6a650e616ec6816fd7c49a19290f9bba32e34fafd067a1ea" + }, +@@ -2810,6 +2813,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "Red Hat Enterprise Linux", ++ "version": "8.8" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=RHEL-8-8-0-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -2851,7 +2885,12 @@ + "filename": "simplified-installer.iso", + "volid": "RHEL-8-8-0-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -3536,6 +3575,9 @@ + "sha256:8e31f6cca87a15d2d3216571b3d7c84755c2e79ff5f7c1bf02c75dbf696a47ca": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/elfutils-libelf-0.187-4.el8.x86_64.rpm" + }, ++ "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/redhat-logos-84.5-1.el8.x86_64.rpm" ++ }, + "sha256:8fc053b5c801ecbdd880e6676c7a8f43afa6730dff130c145fff37d1f00231f8": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/iwl2000-firmware-18.168.6.1-110.el8.1.noarch.rpm" + }, +@@ -9193,6 +9235,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/readline-7.0-10.el8.x86_64.rpm", + "checksum": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "84.5", ++ "release": "1.el8", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/redhat-logos-84.5-1.el8.x86_64.rpm", ++ "checksum": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" ++ }, + { + "name": "redhat-release", + "epoch": 0, +diff --git a/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json +index f98b7b296..8a846fc18 100644 +--- a/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json +@@ -5943,6 +5943,14 @@ + } + } + }, ++ { ++ "id": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:7ccc4a5fa203fcbac963a392d29cd3bcbe82fb762833e8d406b1f11dc8451639", + "options": { +@@ -6896,6 +6904,9 @@ + "sha256:7e9179402556fa825fcfb16e873eb67b2b6c810149162e83ee771f997fd8f2ec": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/tar-1.34-5.el9.aarch64.rpm" + }, ++ "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.aarch64.rpm" ++ }, + "sha256:8021ebcd73fcdfb0fed4e9077d8483d1a2dfa95acc1bd823ecd77e49ac3ddb27": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/libbasicobjects-0.1.1-53.el9.aarch64.rpm" + }, +@@ -14073,6 +14084,16 @@ + "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", + "check_gpg": true + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "90.4", ++ "release": "1.el9", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.aarch64.rpm", ++ "checksum": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", ++ "check_gpg": true ++ }, + { + "name": "tpm2-tools", + "epoch": 0, +diff --git a/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json +index ef91594a5..d88a02e84 100644 +--- a/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json +@@ -6070,6 +6070,14 @@ + } + } + }, ++ { ++ "id": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:0dcd6624357942ada8b2ebf933ee47e11b1cbdc4eaee545519c43420adb6f46b", + "options": { +@@ -6326,6 +6334,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "Red Hat Enterprise Linux", ++ "version": "9.1" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=RHEL-9-1-0-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -6367,7 +6406,12 @@ + "filename": "simplified-installer.iso", + "volid": "RHEL-9-1-0-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -6818,6 +6862,9 @@ + "sha256:59b4bd1290c57f7cea8208def04d77e36ba3e66576043b17d3a52508ed704b1a": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/fcoe-utils-1.0.34-0.git14ef0d2.el9.x86_64.rpm" + }, ++ "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.x86_64.rpm" ++ }, + "sha256:5a93097e08e847b113105a170132f74d91cf7143d2772fc73f78526ee32f32d7": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/iwl6050-firmware-41.28.5.1-127.el9.noarch.rpm" + }, +@@ -14367,6 +14414,16 @@ + "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", + "check_gpg": true + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "90.4", ++ "release": "1.el9", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.x86_64.rpm", ++ "checksum": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", ++ "check_gpg": true ++ }, + { + "name": "udisks2", + "epoch": 0, +diff --git a/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json +index 3efc462da..e01ae18f9 100644 +--- a/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json +@@ -2570,6 +2570,9 @@ + { + "id": "sha256:5c06d2a85bec668b8a9ba52b9d237770e37a2e4db014e7e8dc0cebaaf692af1e" + }, ++ { ++ "id": "sha256:1dd2260e41946bf3914f77de2264555ccf20d0b49e17ff75c1b561319735520b" ++ }, + { + "id": "sha256:339116c6415c611943a78d8d1aa15104cec30ad7c2e49014e97538cb946fc445" + }, +@@ -3022,6 +3025,9 @@ + "sha256:1d78714f790bbd6ba9ce602a40c27d94bcbdbf1a238d3f4f15de4a0503257640": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.0-20220208/Packages/selinux-policy-34.1.23-1.el9.noarch.rpm" + }, ++ "sha256:1dd2260e41946bf3914f77de2264555ccf20d0b49e17ff75c1b561319735520b": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.0-20220208/Packages/redhat-logos-90.2-1.el9.aarch64.rpm" ++ }, + "sha256:1dd3f265935e073215dffb6931dfb872d7cd94a6c08503a36b3ff8c8a8a25e34": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.0-20220208/Packages/grub2-tools-extra-2.06-16.el9.aarch64.rpm" + }, +@@ -9756,6 +9762,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.0-20220208/Packages/python3-policycoreutils-3.3-2.el9.noarch.rpm", + "checksum": "sha256:5c06d2a85bec668b8a9ba52b9d237770e37a2e4db014e7e8dc0cebaaf692af1e" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "90.2", ++ "release": "1.el9", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.0-20220208/Packages/redhat-logos-90.2-1.el9.aarch64.rpm", ++ "checksum": "sha256:1dd2260e41946bf3914f77de2264555ccf20d0b49e17ff75c1b561319735520b" ++ }, + { + "name": "tpm2-tools", + "epoch": 0, +diff --git a/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json +index 76e558aa5..18cfc1a0c 100644 +--- a/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json +@@ -2628,6 +2628,9 @@ + { + "id": "sha256:5c06d2a85bec668b8a9ba52b9d237770e37a2e4db014e7e8dc0cebaaf692af1e" + }, ++ { ++ "id": "sha256:49191fa272d3c16c219f1b27fd86bd085fa1ae3bac38946de40926b35773c4c4" ++ }, + { + "id": "sha256:4361d66a963fe8c62bd1a4e887a06fbe937faa70a7ac704a127021937b2e1b69" + }, +@@ -2874,6 +2877,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "Red Hat Enterprise Linux", ++ "version": "9.0" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=RHEL-9-0-0-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -2915,7 +2949,12 @@ + "filename": "simplified-installer.iso", + "volid": "RHEL-9-0-0-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -3258,6 +3297,9 @@ + "sha256:4900de5fe7cf57df87d84d84a35e2031bb0668494c12da6d26c617f0d23f060d": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.0-20220208/Packages/iwl2030-firmware-18.168.6.1-124.el9.noarch.rpm" + }, ++ "sha256:49191fa272d3c16c219f1b27fd86bd085fa1ae3bac38946de40926b35773c4c4": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.0-20220208/Packages/redhat-logos-90.2-1.el9.x86_64.rpm" ++ }, + "sha256:49f7baeb53e07a4b9b5739e36932f17f014abb765b3fa6c0c0f8af6a8ebf4d9b": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.0-20220208/Packages/attr-2.5.1-3.el9.x86_64.rpm" + }, +@@ -9992,6 +10034,15 @@ + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.0-20220208/Packages/python3-policycoreutils-3.3-2.el9.noarch.rpm", + "checksum": "sha256:5c06d2a85bec668b8a9ba52b9d237770e37a2e4db014e7e8dc0cebaaf692af1e" + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "90.2", ++ "release": "1.el9", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.0-20220208/Packages/redhat-logos-90.2-1.el9.x86_64.rpm", ++ "checksum": "sha256:49191fa272d3c16c219f1b27fd86bd085fa1ae3bac38946de40926b35773c4c4" ++ }, + { + "name": "udisks2", + "epoch": 0, +diff --git a/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json +index 3b749716d..20527d8a9 100644 +--- a/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json +@@ -5943,6 +5943,14 @@ + } + } + }, ++ { ++ "id": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:7ccc4a5fa203fcbac963a392d29cd3bcbe82fb762833e8d406b1f11dc8451639", + "options": { +@@ -6896,6 +6904,9 @@ + "sha256:7e9179402556fa825fcfb16e873eb67b2b6c810149162e83ee771f997fd8f2ec": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/tar-1.34-5.el9.aarch64.rpm" + }, ++ "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.aarch64.rpm" ++ }, + "sha256:8021ebcd73fcdfb0fed4e9077d8483d1a2dfa95acc1bd823ecd77e49ac3ddb27": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/libbasicobjects-0.1.1-53.el9.aarch64.rpm" + }, +@@ -14073,6 +14084,16 @@ + "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", + "check_gpg": true + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "90.4", ++ "release": "1.el9", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.aarch64.rpm", ++ "checksum": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", ++ "check_gpg": true ++ }, + { + "name": "tpm2-tools", + "epoch": 0, +diff --git a/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json +index 52ec164de..bc875b60a 100644 +--- a/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json +@@ -6070,6 +6070,14 @@ + } + } + }, ++ { ++ "id": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:0dcd6624357942ada8b2ebf933ee47e11b1cbdc4eaee545519c43420adb6f46b", + "options": { +@@ -6326,6 +6334,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "Red Hat Enterprise Linux", ++ "version": "9.1" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=RHEL-9-1-0-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -6367,7 +6406,12 @@ + "filename": "simplified-installer.iso", + "volid": "RHEL-9-1-0-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -6818,6 +6862,9 @@ + "sha256:59b4bd1290c57f7cea8208def04d77e36ba3e66576043b17d3a52508ed704b1a": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/fcoe-utils-1.0.34-0.git14ef0d2.el9.x86_64.rpm" + }, ++ "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.x86_64.rpm" ++ }, + "sha256:5a93097e08e847b113105a170132f74d91cf7143d2772fc73f78526ee32f32d7": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/iwl6050-firmware-41.28.5.1-127.el9.noarch.rpm" + }, +@@ -14367,6 +14414,16 @@ + "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", + "check_gpg": true + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "90.4", ++ "release": "1.el9", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.x86_64.rpm", ++ "checksum": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", ++ "check_gpg": true ++ }, + { + "name": "udisks2", + "epoch": 0, +diff --git a/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json +index 1e4d75d87..e20501676 100644 +--- a/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json +@@ -5892,6 +5892,14 @@ + } + } + }, ++ { ++ "id": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:f78a2a07073e949a115b2d95a6119eb6547b992c00c7af9af6887709030e4af4", + "options": { +@@ -6782,6 +6790,9 @@ + "sha256:7f5398b37571d6eead55c4c1f793e5934c00847a709dbe844b21a633a59fb684": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.2-20230101/Packages/device-mapper-libs-1.02.187-3.el9.aarch64.rpm" + }, ++ "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.2-20230101/Packages/redhat-logos-90.4-1.el9.aarch64.rpm" ++ }, + "sha256:8021ebcd73fcdfb0fed4e9077d8483d1a2dfa95acc1bd823ecd77e49ac3ddb27": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.2-20230101/Packages/libbasicobjects-0.1.1-53.el9.aarch64.rpm" + }, +@@ -13927,6 +13938,16 @@ + "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", + "check_gpg": true + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "90.4", ++ "release": "1.el9", ++ "arch": "aarch64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.2-20230101/Packages/redhat-logos-90.4-1.el9.aarch64.rpm", ++ "checksum": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", ++ "check_gpg": true ++ }, + { + "name": "tpm2-tools", + "epoch": 0, +diff --git a/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json +index 090db489f..aa3b51094 100644 +--- a/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json ++++ b/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json +@@ -6019,6 +6019,14 @@ + } + } + }, ++ { ++ "id": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", ++ "options": { ++ "metadata": { ++ "rpm.check_gpg": true ++ } ++ } ++ }, + { + "id": "sha256:17aab3ef99a2590ca905c28421572ae2ea378a634a157b312ec9a9e83e405a54", + "options": { +@@ -6275,6 +6283,37 @@ + ] + } + }, ++ { ++ "type": "org.osbuild.isolinux", ++ "inputs": { ++ "data": { ++ "type": "org.osbuild.tree", ++ "origin": "org.osbuild.pipeline", ++ "references": [ ++ "name:coi-tree" ++ ] ++ } ++ }, ++ "options": { ++ "product": { ++ "name": "Red Hat Enterprise Linux", ++ "version": "9.2" ++ }, ++ "kernel": { ++ "dir": "/images/pxeboot", ++ "opts": [ ++ "rd.neednet=1", ++ "coreos.inst.crypt_root=1", ++ "coreos.inst.isoroot=RHEL-9-2-0-BaseOS-x86_64", ++ "coreos.inst.install_dev=/dev/vda", ++ "coreos.inst.image_file=/run/media/iso/image.raw.xz", ++ "coreos.inst.insecure", ++ "fdo.manufacturing_server_url=https;//fdo.example.com", ++ "fdo.diun_pub_key_insecure=true" ++ ] ++ } ++ } ++ }, + { + "type": "org.osbuild.copy", + "inputs": { +@@ -6316,7 +6355,12 @@ + "filename": "simplified-installer.iso", + "volid": "RHEL-9-2-0-BaseOS-x86_64", + "sysid": "LINUX", ++ "boot": { ++ "image": "isolinux/isolinux.bin", ++ "catalog": "isolinux/boot.cat" ++ }, + "efi": "images/efiboot.img", ++ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", + "isolevel": 3 + } + }, +@@ -6734,6 +6778,9 @@ + "sha256:59c77776b489ea57a9f954d90a2a6d9089e43e16fd2277859f60f3b8d19b6262": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.2-20230101/Packages/glibc-gconv-extra-2.34-54.el9.x86_64.rpm" + }, ++ "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393": { ++ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.2-20230101/Packages/redhat-logos-90.4-1.el9.x86_64.rpm" ++ }, + "sha256:5beb750d1ccfb8fbdfd33882ea02b99edf03034ea3cef7821dfc12afeccef9f9": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.2-20230101/Packages/iputils-20210202-8.el9.x86_64.rpm" + }, +@@ -14221,6 +14268,16 @@ + "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", + "check_gpg": true + }, ++ { ++ "name": "redhat-logos", ++ "epoch": 0, ++ "version": "90.4", ++ "release": "1.el9", ++ "arch": "x86_64", ++ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.2-20230101/Packages/redhat-logos-90.4-1.el9.x86_64.rpm", ++ "checksum": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", ++ "check_gpg": true ++ }, + { + "name": "udisks2", + "epoch": 0, +-- +2.40.0 + diff --git a/SOURCES/0005-Save-manifest-lists-when-pulling-containers-Set-container-local-names-explicitly.patch b/SOURCES/0005-Save-manifest-lists-when-pulling-containers-Set-container-local-names-explicitly.patch new file mode 100644 index 0000000..9404871 --- /dev/null +++ b/SOURCES/0005-Save-manifest-lists-when-pulling-containers-Set-container-local-names-explicitly.patch @@ -0,0 +1,5104 @@ +From 3f3bee2270f5a032335bb47d5e6a12f64ccc0895 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Tue, 14 Mar 2023 23:30:51 +0100 +Subject: [PATCH 05/22] osbuild: name in containers input is not optional + +Remove the `omitempty` from the name field in the containers input. It is +required. +--- + internal/osbuild/containers_input.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/internal/osbuild/containers_input.go b/internal/osbuild/containers_input.go +index a27963882..c1803fa90 100644 +--- a/internal/osbuild/containers_input.go ++++ b/internal/osbuild/containers_input.go +@@ -9,7 +9,7 @@ type ContainersInputReferences interface { + } + + type ContainersInputSourceRef struct { +- Name string `json:"name,omitempty"` ++ Name string `json:"name"` + } + + type ContainersInputSourceMap map[string]ContainersInputSourceRef +-- +2.40.0 + + +From f546d3c32b8db6167cc27d0408d41fc7cbc152a4 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 13:23:48 +0100 +Subject: [PATCH 06/22] osbuild: add skopeo-index source + +New osbuild source that can download a manifest-list from a container +registry, using the `--multi-arch=index-only` option of skopeo copy. +--- + internal/osbuild/skopeo_index_source.go | 57 +++++++++++++++++++++++++ + 1 file changed, 57 insertions(+) + create mode 100644 internal/osbuild/skopeo_index_source.go + +diff --git a/internal/osbuild/skopeo_index_source.go b/internal/osbuild/skopeo_index_source.go +new file mode 100644 +index 000000000..d273fb138 +--- /dev/null ++++ b/internal/osbuild/skopeo_index_source.go +@@ -0,0 +1,57 @@ ++package osbuild ++ ++import ( ++ "fmt" ++) ++ ++type SkopeoIndexSource struct { ++ Items map[string]SkopeoIndexSourceItem `json:"items"` ++} ++ ++func (SkopeoIndexSource) isSource() {} ++ ++type SkopeoIndexSourceImage struct { ++ Name string `json:"name"` ++ TLSVerify *bool `json:"tls-verify,omitempty"` ++} ++ ++type SkopeoIndexSourceItem struct { ++ Image SkopeoIndexSourceImage `json:"image"` ++} ++ ++func (item SkopeoIndexSourceItem) validate() error { ++ ++ if item.Image.Name == "" { ++ return fmt.Errorf("source item has empty name") ++ } ++ ++ return nil ++} ++ ++// NewSkopeoIndexSource creates a new and empty SkopeoIndexSource ++func NewSkopeoIndexSource() *SkopeoIndexSource { ++ return &SkopeoIndexSource{ ++ Items: make(map[string]SkopeoIndexSourceItem), ++ } ++} ++ ++// AddItem adds a source item to the source; will panic ++// if any of the supplied options are invalid or missing ++func (source *SkopeoIndexSource) AddItem(name, image string, tlsVerify *bool) { ++ item := SkopeoIndexSourceItem{ ++ Image: SkopeoIndexSourceImage{ ++ Name: name, ++ TLSVerify: tlsVerify, ++ }, ++ } ++ ++ if err := item.validate(); err != nil { ++ panic(err) ++ } ++ ++ if !skopeoDigestPattern.MatchString(image) { ++ panic("item has invalid image id") ++ } ++ ++ source.Items[image] = item ++} +-- +2.40.0 + + +From aed5ac61b95c49bd87cde724da82ceb636a1ab07 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 15:48:19 +0100 +Subject: [PATCH 07/22] osbuild/skopeo: reverse the constructor args + +Put the path (which becomes an option) first and the inputs second. +This is more in line with other stage constructors. +--- + internal/manifest/os.go | 2 +- + internal/osbuild/skopeo_stage.go | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/internal/manifest/os.go b/internal/manifest/os.go +index 6f0f50209..c5d632850 100644 +--- a/internal/manifest/os.go ++++ b/internal/manifest/os.go +@@ -348,7 +348,7 @@ func (p *OS) serialize() osbuild.Pipeline { + pipeline.AddStage(osbuild.NewContainersStorageConfStage(containerStoreOpts)) + } + +- skopeo := osbuild.NewSkopeoStage(images, storagePath) ++ skopeo := osbuild.NewSkopeoStage(storagePath, images) + pipeline.AddStage(skopeo) + } + +diff --git a/internal/osbuild/skopeo_stage.go b/internal/osbuild/skopeo_stage.go +index 83260e501..c0ac14fbd 100644 +--- a/internal/osbuild/skopeo_stage.go ++++ b/internal/osbuild/skopeo_stage.go +@@ -12,7 +12,7 @@ type SkopeoStageOptions struct { + + func (o SkopeoStageOptions) isStageOptions() {} + +-func NewSkopeoStage(images ContainersInput, path string) *Stage { ++func NewSkopeoStage(path string, images ContainersInput) *Stage { + + inputs := ContainersInputs{ + "images": images, +-- +2.40.0 + + +From 724192bdce2f65e02b4446f09882b93eac4f5b76 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 13:25:07 +0100 +Subject: [PATCH 08/22] osbuild: add manifest-lists input to skopeo stage + +The skopeo stage in osbuild supports an second optional set of inputs +called `manifest-lists`. This is an array of files, i.e., +`org.osbuild.files` type input. + +To support this we need a new type for the skopeo stage inputs that can +encompass both input types, images and manifest-lists. +--- + internal/manifest/os.go | 2 +- + internal/osbuild/skopeo_stage.go | 14 +++++++++++--- + 2 files changed, 12 insertions(+), 4 deletions(-) + +diff --git a/internal/manifest/os.go b/internal/manifest/os.go +index c5d632850..783d9adce 100644 +--- a/internal/manifest/os.go ++++ b/internal/manifest/os.go +@@ -348,7 +348,7 @@ func (p *OS) serialize() osbuild.Pipeline { + pipeline.AddStage(osbuild.NewContainersStorageConfStage(containerStoreOpts)) + } + +- skopeo := osbuild.NewSkopeoStage(storagePath, images) ++ skopeo := osbuild.NewSkopeoStage(storagePath, images, nil) + pipeline.AddStage(skopeo) + } + +diff --git a/internal/osbuild/skopeo_stage.go b/internal/osbuild/skopeo_stage.go +index c0ac14fbd..7efa70ba9 100644 +--- a/internal/osbuild/skopeo_stage.go ++++ b/internal/osbuild/skopeo_stage.go +@@ -12,10 +12,18 @@ type SkopeoStageOptions struct { + + func (o SkopeoStageOptions) isStageOptions() {} + +-func NewSkopeoStage(path string, images ContainersInput) *Stage { ++type SkopeoStageInputs struct { ++ Images ContainersInput `json:"images"` ++ ManifestLists *FilesInput `json:"manifest-lists,omitempty"` ++} ++ ++func (SkopeoStageInputs) isStageInputs() {} ++ ++func NewSkopeoStage(path string, images ContainersInput, manifests *FilesInput) *Stage { + +- inputs := ContainersInputs{ +- "images": images, ++ inputs := SkopeoStageInputs{ ++ Images: images, ++ ManifestLists: manifests, + } + + return &Stage{ +-- +2.40.0 + + +From 6c6ab39829cb2343a46e5ef01b6f956fbd3422ac Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 15:19:41 +0100 +Subject: [PATCH 09/22] container: add ListDigest to the spec + +Add the ListDigest to the container Spec struct and all its copies so we +can store list digests when they are available and pass them on to the +appropriate osbuild stages, sources, and inputs. + +Copy the value whenever a spec is moved to a different representation. +--- + cmd/osbuild-worker/jobimpl-container-resolve.go | 11 ++++++----- + internal/cloudapi/v2/server.go | 1 + + internal/container/spec.go | 11 ++++++----- + internal/weldr/api.go | 1 + + internal/worker/json.go | 5 +++-- + 5 files changed, 17 insertions(+), 12 deletions(-) + +diff --git a/cmd/osbuild-worker/jobimpl-container-resolve.go b/cmd/osbuild-worker/jobimpl-container-resolve.go +index ebeaff9d9..b92f5c893 100644 +--- a/cmd/osbuild-worker/jobimpl-container-resolve.go ++++ b/cmd/osbuild-worker/jobimpl-container-resolve.go +@@ -42,11 +42,12 @@ func (impl *ContainerResolveJobImpl) Run(job worker.Job) error { + } else { + for i, spec := range specs { + result.Specs[i] = worker.ContainerSpec{ +- Source: spec.Source, +- Name: spec.LocalName, +- TLSVerify: spec.TLSVerify, +- ImageID: spec.ImageID, +- Digest: spec.Digest, ++ Source: spec.Source, ++ Name: spec.LocalName, ++ TLSVerify: spec.TLSVerify, ++ ImageID: spec.ImageID, ++ Digest: spec.Digest, ++ ListDigest: spec.ListDigest, + } + } + } +diff --git a/internal/cloudapi/v2/server.go b/internal/cloudapi/v2/server.go +index fdae5eeae..807b32ba2 100644 +--- a/internal/cloudapi/v2/server.go ++++ b/internal/cloudapi/v2/server.go +@@ -434,6 +434,7 @@ func generateManifest(ctx context.Context, workers *worker.Server, depsolveJobID + containerSpecs[i].LocalName = s.Name + containerSpecs[i].TLSVerify = s.TLSVerify + containerSpecs[i].ImageID = s.ImageID ++ containerSpecs[i].ListDigest = s.ListDigest + } + } + +diff --git a/internal/container/spec.go b/internal/container/spec.go +index ffd781c8d..b7bfbe37e 100644 +--- a/internal/container/spec.go ++++ b/internal/container/spec.go +@@ -11,11 +11,12 @@ import ( + // at the Source via Digest and ImageID. The latter one + // should remain the same in the target image as well. + type Spec struct { +- Source string // does not include the manifest digest +- Digest string // digest of the manifest at the Source +- TLSVerify *bool // controls TLS verification +- ImageID string // container image identifier +- LocalName string // name to use inside the image ++ Source string // does not include the manifest digest ++ Digest string // digest of the manifest at the Source ++ TLSVerify *bool // controls TLS verification ++ ImageID string // container image identifier ++ LocalName string // name to use inside the image ++ ListDigest string // digest of the list manifest at the Source (optional) + } + + // NewSpec creates a new Spec from the essential information. +diff --git a/internal/weldr/api.go b/internal/weldr/api.go +index db335c370..a2febe2dc 100644 +--- a/internal/weldr/api.go ++++ b/internal/weldr/api.go +@@ -2303,6 +2303,7 @@ func (api *API) resolveContainersForImageType(bp blueprint.Blueprint, imageType + specs[i].LocalName = s.Name + specs[i].TLSVerify = s.TLSVerify + specs[i].ImageID = s.ImageID ++ specs[i].ListDigest = s.ListDigest + } + + return specs, nil +diff --git a/internal/worker/json.go b/internal/worker/json.go +index 47d58bd12..b514b5914 100644 +--- a/internal/worker/json.go ++++ b/internal/worker/json.go +@@ -241,8 +241,9 @@ type ContainerSpec struct { + Name string `json:"name"` + TLSVerify *bool `json:"tls-verify,omitempty"` + +- ImageID string `json:"image_id"` +- Digest string `json:"digest"` ++ ImageID string `json:"image_id"` ++ Digest string `json:"digest"` ++ ListDigest string `json:"list-digest,omitempty"` + } + + type ContainerResolveJob struct { +-- +2.40.0 + + +From b72f23d68bd513d32af8ae4226de73df47ecc9f2 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Thu, 13 Apr 2023 16:40:15 +0200 +Subject: [PATCH 10/22] container: include TLSVerify and ListDigest in spec + ctor + +--- + internal/container/client.go | 3 +-- + internal/container/spec.go | 13 +++++++------ + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/internal/container/client.go b/internal/container/client.go +index 25ddbe7d6..df170eae9 100644 +--- a/internal/container/client.go ++++ b/internal/container/client.go +@@ -480,8 +480,7 @@ func (cl *Client) Resolve(ctx context.Context, name string) (Spec, error) { + return Spec{}, err + } + +- spec := NewSpec(cl.Target, ids.Manifest, ids.Config) +- spec.TLSVerify = cl.GetTLSVerify() ++ spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), "") + + return spec, nil + } +diff --git a/internal/container/spec.go b/internal/container/spec.go +index b7bfbe37e..a9db3f731 100644 +--- a/internal/container/spec.go ++++ b/internal/container/spec.go +@@ -22,13 +22,14 @@ type Spec struct { + // NewSpec creates a new Spec from the essential information. + // It also converts is the transition point from container + // specific types (digest.Digest) to generic types (string). +-func NewSpec(source reference.Named, digest, imageID digest.Digest) Spec { ++func NewSpec(source reference.Named, digest, imageID digest.Digest, tlsVerify *bool, listDigest string) Spec { + name := source.Name() + return Spec{ +- Source: name, +- Digest: digest.String(), +- ImageID: imageID.String(), +- +- LocalName: name, ++ Source: name, ++ Digest: digest.String(), ++ TLSVerify: tlsVerify, ++ ImageID: imageID.String(), ++ LocalName: name, ++ ListDigest: listDigest, + } + } +-- +2.40.0 + + +From 1b97a4d64435d3f7415a819784dc0f2856b39ffb Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 15:22:13 +0100 +Subject: [PATCH 11/22] container: save manifest list digest when resolving + +While resolving a manifest list digest, store the list digest to return +with the resolvedIds. + +This is done for both types of manifest list: + application/vnd.docker.distribution.manifest.list.v2+json +and + application/vnd.oci.image.index.v1+json +--- + internal/container/client.go | 32 ++++++++++++++++++++++++++------ + 1 file changed, 26 insertions(+), 6 deletions(-) + +diff --git a/internal/container/client.go b/internal/container/client.go +index df170eae9..5e03d31c1 100644 +--- a/internal/container/client.go ++++ b/internal/container/client.go +@@ -391,8 +391,9 @@ type manifestList interface { + } + + type resolvedIds struct { +- Manifest digest.Digest +- Config digest.Digest ++ Manifest digest.Digest ++ Config digest.Digest ++ ListManifest digest.Digest + } + + func (cl *Client) resolveManifestList(ctx context.Context, list manifestList) (resolvedIds, error) { +@@ -407,7 +408,12 @@ func (cl *Client) resolveManifestList(ctx context.Context, list manifestList) (r + return resolvedIds{}, fmt.Errorf("error getting manifest: %w", err) + } + +- return cl.resolveRawManifest(ctx, raw) ++ ids, err := cl.resolveRawManifest(ctx, raw) ++ if err != nil { ++ return resolvedIds{}, err ++ } ++ ++ return ids, err + } + + func (cl *Client) resolveRawManifest(ctx context.Context, rm RawManifest) (resolvedIds, error) { +@@ -421,7 +427,14 @@ func (cl *Client) resolveRawManifest(ctx context.Context, rm RawManifest) (resol + return resolvedIds{}, err + } + +- return cl.resolveManifestList(ctx, list) ++ // Save digest of the manifest list as well. ++ ids, err := cl.resolveManifestList(ctx, list) ++ if err != nil { ++ return resolvedIds{}, err ++ } ++ // NOTE: Comment in Digest() source says this should never fail. Ignore the error. ++ ids.ListManifest, _ = rm.Digest() ++ return ids, nil + + case imgspecv1.MediaTypeImageIndex: + index, err := manifest.OCI1IndexFromManifest(rm.Data) +@@ -429,7 +442,14 @@ func (cl *Client) resolveRawManifest(ctx context.Context, rm RawManifest) (resol + return resolvedIds{}, err + } + +- return cl.resolveManifestList(ctx, index) ++ // Save digest of the manifest list as well. ++ ids, err := cl.resolveManifestList(ctx, index) ++ if err != nil { ++ return resolvedIds{}, err ++ } ++ // NOTE: Comment in Digest() source says this should never fail. Ignore the error. ++ ids.ListManifest, _ = rm.Digest() ++ return ids, nil + + case imgspecv1.MediaTypeImageManifest: + m, err := manifest.OCI1FromManifest(rm.Data) +@@ -480,7 +500,7 @@ func (cl *Client) Resolve(ctx context.Context, name string) (Spec, error) { + return Spec{}, err + } + +- spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), "") ++ spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), ids.ListManifest.String()) + + return spec, nil + } +-- +2.40.0 + + +From 27c7438b44870e6e79c24e45fa428ee158e5706a Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 15:25:48 +0100 +Subject: [PATCH 12/22] osbuild: create skopeo-index source in GenSources() + +When generating sources in GenSources(), add a skopeo-index source +reference for each list-digest found in the container specs. +--- + internal/osbuild/source.go | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/internal/osbuild/source.go b/internal/osbuild/source.go +index 6d3a51948..862a5c3f1 100644 +--- a/internal/osbuild/source.go ++++ b/internal/osbuild/source.go +@@ -102,13 +102,22 @@ func GenSources(packages []rpmmd.PackageSpec, ostreeCommits []ostree.CommitSpec, + } + + skopeo := NewSkopeoSource() ++ skopeoIndex := NewSkopeoIndexSource() + for _, c := range containers { + skopeo.AddItem(c.Source, c.Digest, c.ImageID, c.TLSVerify) ++ ++ // if we have a list digest, add a skopeo-index source as well ++ if c.ListDigest != "" { ++ skopeoIndex.AddItem(c.Source, c.ListDigest, c.TLSVerify) ++ } + } + + if len(skopeo.Items) > 0 { + sources["org.osbuild.skopeo"] = skopeo + } ++ if len(skopeoIndex.Items) > 0 { ++ sources["org.osbuild.skopeo-index"] = skopeoIndex ++ } + + return sources + } +-- +2.40.0 + + +From a629331debd1ff8f3ef3f525232709b60e13581e Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 16:07:40 +0100 +Subject: [PATCH 13/22] osbuild/skopeo: helper function for files input + +Add a helper function that collects all the manifest list digests from a +list of container specs and returns a FilesInput to be used with the +stage. + +Use the function in the OS pipeline when adding containers. The +manifests input to the stage constructor will be empty if there are no +manifest lists in the container specs. +--- + internal/manifest/os.go | 3 ++- + internal/osbuild/files_input.go | 18 ++++++++++++++++++ + ...arch64-edge_commit_with_container-boot.json | 3 ++- + ...x86_64-edge_commit_with_container-boot.json | 3 ++- + 4 files changed, 24 insertions(+), 3 deletions(-) + +diff --git a/internal/manifest/os.go b/internal/manifest/os.go +index 783d9adce..57a79d781 100644 +--- a/internal/manifest/os.go ++++ b/internal/manifest/os.go +@@ -348,7 +348,8 @@ func (p *OS) serialize() osbuild.Pipeline { + pipeline.AddStage(osbuild.NewContainersStorageConfStage(containerStoreOpts)) + } + +- skopeo := osbuild.NewSkopeoStage(storagePath, images, nil) ++ manifests := osbuild.NewFilesInputForManifestLists(p.Containers) ++ skopeo := osbuild.NewSkopeoStage(storagePath, images, manifests) + pipeline.AddStage(skopeo) + } + +diff --git a/internal/osbuild/files_input.go b/internal/osbuild/files_input.go +index 64f685bf4..757d3b1cc 100644 +--- a/internal/osbuild/files_input.go ++++ b/internal/osbuild/files_input.go +@@ -3,6 +3,8 @@ package osbuild + import ( + "encoding/json" + "fmt" ++ ++ "github.com/osbuild/osbuild-composer/internal/container" + ) + + // SPECIFIC INPUT STRUCTURE +@@ -276,3 +278,19 @@ func NewFilesInputSourceObjectRef(entries map[string]FilesInputRefMetadata) File + } + return &refs + } ++ ++// NewFilesInputForManifestLists creates a FilesInput for container manifest ++// lists. If there are no list digests in the container specs, it returns nil. ++func NewFilesInputForManifestLists(containers []container.Spec) *FilesInput { ++ refs := make([]string, 0, len(containers)) ++ for _, c := range containers { ++ if c.ListDigest != "" { ++ refs = append(refs, c.ListDigest) ++ } ++ } ++ if len(refs) == 0 { ++ return nil ++ } ++ filesRef := FilesInputSourcePlainRef(refs) ++ return NewFilesInput(&filesRef) ++} +diff --git a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json +index 75ed7d5de..db87c4eff 100644 +--- a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json +@@ -11327,7 +11327,8 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json +index ca818de26..acb5b01d7 100644 +--- a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json +@@ -11827,7 +11827,8 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" + } + ], + "no-image-info": true +-- +2.40.0 + + +From 7c613fa7d56d19b62cbebe64aa0296daa91b5da9 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 17:41:30 +0100 +Subject: [PATCH 14/22] containers: update tests + +Update tests to include the list digests of the test images. +--- + internal/container/client_test.go | 24 +++++++++++++----------- + internal/container/container_test.go | 12 +++++++----- + 2 files changed, 20 insertions(+), 16 deletions(-) + +diff --git a/internal/container/client_test.go b/internal/container/client_test.go +index 7133fad04..49695dae9 100644 +--- a/internal/container/client_test.go ++++ b/internal/container/client_test.go +@@ -19,7 +19,7 @@ func TestClientResolve(t *testing.T) { + defer registry.Close() + + repo := registry.AddRepo("library/osbuild") +- repo.AddImage( ++ listDigest := repo.AddImage( + []Blob{NewDataBlobFromBase64(rootLayer)}, + []string{"amd64", "ppc64le"}, + "cool container", +@@ -40,11 +40,12 @@ func TestClientResolve(t *testing.T) { + + assert.NoError(t, err) + assert.Equal(t, container.Spec{ +- Source: ref, +- Digest: "sha256:f29b6cd42a94a574583439addcd6694e6224f0e4b32044c9e3aee4c4856c2a50", +- ImageID: "sha256:c2ecf25cf190e76b12b07436ad5140d4ba53d8a136d498705e57a006837a720f", +- TLSVerify: client.GetTLSVerify(), +- LocalName: ref, ++ Source: ref, ++ Digest: "sha256:f29b6cd42a94a574583439addcd6694e6224f0e4b32044c9e3aee4c4856c2a50", ++ ImageID: "sha256:c2ecf25cf190e76b12b07436ad5140d4ba53d8a136d498705e57a006837a720f", ++ TLSVerify: client.GetTLSVerify(), ++ LocalName: ref, ++ ListDigest: listDigest, + }, spec) + + client.SetArchitectureChoice("ppc64le") +@@ -52,11 +53,12 @@ func TestClientResolve(t *testing.T) { + + assert.NoError(t, err) + assert.Equal(t, container.Spec{ +- Source: ref, +- Digest: "sha256:d49eebefb6c7ce5505594bef652bd4adc36f413861bd44209d9b9486310b1264", +- ImageID: "sha256:d2ab8fea7f08a22f03b30c13c6ea443121f25e87202a7496e93736efa6fe345a", +- TLSVerify: client.GetTLSVerify(), +- LocalName: ref, ++ Source: ref, ++ Digest: "sha256:d49eebefb6c7ce5505594bef652bd4adc36f413861bd44209d9b9486310b1264", ++ ImageID: "sha256:d2ab8fea7f08a22f03b30c13c6ea443121f25e87202a7496e93736efa6fe345a", ++ TLSVerify: client.GetTLSVerify(), ++ LocalName: ref, ++ ListDigest: listDigest, + }, spec) + + // don't have that architecture +diff --git a/internal/container/container_test.go b/internal/container/container_test.go +index e1fe00ff5..85a945471 100644 +--- a/internal/container/container_test.go ++++ b/internal/container/container_test.go +@@ -348,6 +348,7 @@ func (reg *Registry) Resolve(target, arch string) (container.Spec, error) { + } + + lst, ok := repo.images[checksum] ++ listDigest := checksum + + if ok { + checksum = "" +@@ -370,11 +371,12 @@ func (reg *Registry) Resolve(target, arch string) (container.Spec, error) { + } + + return container.Spec{ +- Source: ref.String(), +- Digest: checksum, +- ImageID: mf.ConfigDescriptor.Digest.String(), +- LocalName: ref.String(), +- TLSVerify: common.ToPtr(false), ++ Source: ref.String(), ++ Digest: checksum, ++ ImageID: mf.ConfigDescriptor.Digest.String(), ++ LocalName: ref.String(), ++ TLSVerify: common.ToPtr(false), ++ ListDigest: listDigest, + }, nil + } + +-- +2.40.0 + + +From 1c09ad81d19de026537c4ad519cd50de76282882 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Fri, 17 Mar 2023 18:26:09 +0100 +Subject: [PATCH 15/22] test: add container source with manifest-list to + manifests + +Add a second container to the ostree-commit test manifests that refers +to a manifest list on the osbuild-composer registry on gitlab. +--- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 36 +++++++++++++++++ + ...86_64-edge_commit_with_container-boot.json | 36 +++++++++++++++++ + ...arch64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...x86_64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...arch64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...x86_64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...arch64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...x86_64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + .../rhel_91-aarch64-qcow2_customize-boot.json | 3 +- + .../rhel_91-ppc64le-qcow2_customize-boot.json | 3 +- + .../rhel_91-s390x-qcow2_customize-boot.json | 3 +- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + .../rhel_91-x86_64-qcow2_customize-boot.json | 3 +- + ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- + .../format-request-map.json | 6 +++ + 35 files changed, 1150 insertions(+), 32 deletions(-) + +diff --git a/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json +index bd30a1485..ecf6766ab 100644 +--- a/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4887,10 +4890,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6164,6 +6177,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -6171,6 +6190,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -12156,7 +12184,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json +index 056befaf7..097cc2005 100644 +--- a/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -5049,8 +5052,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6374,6 +6387,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -12561,7 +12589,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json +index db87c4eff..ec4673efe 100644 +--- a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4527,10 +4530,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -5785,6 +5798,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -5792,6 +5811,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -11329,6 +11357,14 @@ + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", + "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json +index acb5b01d7..d231b9496 100644 +--- a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json +@@ -28,6 +28,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4737,8 +4740,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6040,6 +6053,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -11829,6 +11857,14 @@ + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", + "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json +index 2dbe0953b..dca9bd472 100644 +--- a/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json +@@ -36,6 +36,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -5393,10 +5396,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6819,6 +6832,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -6826,6 +6845,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -13421,7 +13449,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json +index 7dde292e6..e3742a48a 100644 +--- a/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json +@@ -36,6 +36,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -5515,8 +5518,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6980,6 +6993,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -13727,7 +13755,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json +index 5d4c0c11a..9cce29ff4 100644 +--- a/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -5463,10 +5466,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6910,6 +6923,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -6917,6 +6936,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -13622,7 +13650,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json +index d14c1548d..5fc0b2ee4 100644 +--- a/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -5585,8 +5588,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -7071,6 +7084,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -13928,7 +13956,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json +index 9c2a22488..3b2ddc32f 100644 +--- a/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -5295,10 +5298,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6745,6 +6758,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -6752,6 +6771,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -13242,12 +13270,21 @@ + ] + }, + "containers": [ ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ }, + { + "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json +index 7c48db788..f1986cd5f 100644 +--- a/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -5401,8 +5404,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6887,6 +6900,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -13514,7 +13542,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json +index 84e24ad50..3218630de 100644 +--- a/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json +@@ -20,6 +20,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1903,10 +1906,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3191,6 +3204,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -3198,6 +3217,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -8595,7 +8623,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json +index b39ce009c..24d984e15 100644 +--- a/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json +@@ -28,6 +28,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1975,8 +1978,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3311,6 +3324,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -8890,7 +8918,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json +index 6a63178b6..8e24a89e7 100644 +--- a/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json +@@ -20,6 +20,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1864,10 +1867,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3159,6 +3172,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -3166,6 +3185,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -8446,7 +8474,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json +index 99cb91709..2a7ca1509 100644 +--- a/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json +@@ -28,6 +28,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1936,8 +1939,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3279,6 +3292,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -8741,7 +8769,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json +index 326fbdf79..76b1ee048 100644 +--- a/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json +@@ -20,6 +20,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1885,10 +1888,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3148,6 +3161,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -3155,6 +3174,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -8498,7 +8526,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json +index 578e4bb55..bc67a9a85 100644 +--- a/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json +@@ -28,6 +28,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1957,8 +1960,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3268,6 +3281,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -8793,7 +8821,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json +index 3dae2f682..0ce2c96a6 100644 +--- a/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json +@@ -20,6 +20,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1897,10 +1900,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3182,6 +3195,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -3189,6 +3208,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -8568,7 +8596,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json +index 1713c7829..06b054f29 100644 +--- a/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json +@@ -28,6 +28,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1969,8 +1972,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3302,6 +3315,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -8863,7 +8891,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json +index 22646a8a7..1a29f877e 100644 +--- a/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json +@@ -20,6 +20,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1903,10 +1906,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3191,6 +3204,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -3198,6 +3217,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -8595,7 +8623,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json +index d2b334f67..24dada814 100644 +--- a/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json +@@ -28,6 +28,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1975,8 +1978,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3311,6 +3324,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -8890,7 +8918,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json +index 9ca51e80b..baaf0b90d 100644 +--- a/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json +@@ -20,6 +20,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1903,10 +1906,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3191,6 +3204,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -3198,6 +3217,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -8595,7 +8623,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json +index df26cad08..c75702c4a 100644 +--- a/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json +@@ -28,6 +28,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1975,8 +1978,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3311,6 +3324,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -8890,7 +8918,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json +index 2ab515c4b..7ca727841 100644 +--- a/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4575,10 +4578,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -5836,6 +5849,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -5843,6 +5862,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -11438,7 +11466,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json +index 5eb599741..5ab941e81 100644 +--- a/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json +@@ -31,6 +31,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4788,8 +4791,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6094,6 +6107,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -11941,7 +11969,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json +index 0daa7ef02..2cc34b97a 100644 +--- a/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json +@@ -20,6 +20,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1777,10 +1780,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3032,6 +3045,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -3039,6 +3058,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -8058,7 +8086,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json +index 8d141c74a..98e39d67a 100644 +--- a/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json +@@ -28,6 +28,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -1867,8 +1870,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -3170,6 +3183,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -8425,7 +8453,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json +index c53ca9fe3..96f0587bd 100644 +--- a/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4575,10 +4578,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -5836,6 +5849,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -5843,6 +5862,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -11438,7 +11466,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json +index 499ec4487..878462742 100644 +--- a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json ++++ b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json +@@ -13442,7 +13442,8 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json +index aa2870cab..32cc7bfc9 100644 +--- a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json ++++ b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json +@@ -14937,7 +14937,8 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json b/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json +index 4fa7229f3..f12691619 100644 +--- a/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json ++++ b/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json +@@ -15430,7 +15430,8 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json +index 8e8c8d202..c9052dc32 100644 +--- a/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json +@@ -31,6 +31,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4788,8 +4791,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6094,6 +6107,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -11941,7 +11969,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json +index a6fa8cd0b..c94c84eb5 100644 +--- a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json ++++ b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json +@@ -14273,7 +14273,8 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json +index 65add64a4..f3ea895fa 100644 +--- a/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json +@@ -22,6 +22,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4543,10 +4546,20 @@ + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -5812,6 +5825,12 @@ + }, + "org.osbuild.skopeo": { + "items": { ++ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" ++ } ++ }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "image": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", +@@ -5819,6 +5838,15 @@ + } + } + } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } ++ } ++ } + } + } + }, +@@ -11374,7 +11402,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json +index 223202d58..292208064 100644 +--- a/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json +@@ -31,6 +31,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -4756,8 +4759,18 @@ + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + } ++ }, ++ "manifest-lists": { ++ "type": "org.osbuild.files", ++ "origin": "org.osbuild.source", ++ "references": [ ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++ ] + } + }, + "options": { +@@ -6070,6 +6083,21 @@ + "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" + } ++ }, ++ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" ++ } ++ } ++ } ++ }, ++ "org.osbuild.skopeo-index": { ++ "items": { ++ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { ++ "image": { ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ } + } + } + } +@@ -11877,7 +11905,16 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", ++ "TLSVerify": null, ++ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/tools/test-case-generators/format-request-map.json b/tools/test-case-generators/format-request-map.json +index cb0a55552..f509c0275 100644 +--- a/tools/test-case-generators/format-request-map.json ++++ b/tools/test-case-generators/format-request-map.json +@@ -123,6 +123,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +@@ -296,6 +299,9 @@ + "containers": [ + { + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ }, ++ { ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" + } + ] + } +-- +2.40.0 + + +From cd09d638c2cef740508e6e29b14ad233143b9c28 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Mon, 27 Mar 2023 20:42:16 +0200 +Subject: [PATCH 16/22] test/container-embedding: add container with + manifest-list + +Add a second container to the container-embedding test. The digest +refers to a manifest-list to test the new feature. +--- + test/cases/container-embedding.sh | 28 +++++++++++++++++++++------- + 1 file changed, 21 insertions(+), 7 deletions(-) + +diff --git a/test/cases/container-embedding.sh b/test/cases/container-embedding.sh +index 166eb9d0b..42d9a1259 100755 +--- a/test/cases/container-embedding.sh ++++ b/test/cases/container-embedding.sh +@@ -54,16 +54,20 @@ BLUEPRINT_FILE=${TEMPDIR}/blueprint.toml + COMPOSE_START=${TEMPDIR}/compose-start-${IMAGE_KEY}.json + COMPOSE_INFO=${TEMPDIR}/compose-info-${IMAGE_KEY}.json + +-IMAGE_DIGEST="sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" ++FEDORA_IMAGE_DIGEST="sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" ++MANIFEST_LIST_DIGEST="sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + + # Write a basic blueprint for our container. + tee "$BLUEPRINT_FILE" > /dev/null << EOF + name = "image" +-description = "A qcwo2 with an container" ++description = "A qcow2 with an container" + version = "0.0.1" + + [[containers]] +-source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal@${IMAGE_DIGEST}" ++source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal@${FEDORA_IMAGE_DIGEST}" ++ ++[[containers]] ++source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test@${MANIFEST_LIST_DIGEST}" + EOF + + # Prepare the blueprint for the compose. +@@ -125,11 +129,21 @@ greenprint "💬 Checking that image exists" + INFO="$(sudo /usr/libexec/osbuild-composer-test/image-info "${IMAGE_FILENAME}")" + + IMAGE_ID="d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6" +-EXISTS=$(jq -e --arg id "${IMAGE_ID}" 'any(."container-images" | select(. != null and .[].Id == $id); .)' <<< "${INFO}") ++FEDORA_CONTAINER_EXISTS=$(jq -e --arg id "${IMAGE_ID}" 'any(."container-images" | select(. != null and .[].Id == $id); .)' <<< "${INFO}") ++ ++if $FEDORA_CONTAINER_EXISTS; then ++ greenprint "💚 fedora container image '${IMAGE_ID}' was found!" ++else ++ echo "😢 fedora container image '${IMAGE_ID}' not in image." ++ exit 1 ++fi ++ ++# Check that the test image's manifest list was included ++MANIFEST_LIST_EXISTS=$(jq -e --arg id "${MANIFEST_LIST_DIGEST}" 'any(."container-images" | select(. != null and .[].Digest == $id); .)' <<< "${INFO}") + +-if $EXISTS; then +- greenprint "💚 container image '${IMAGE_ID}' was found!" ++if $MANIFEST_LIST_EXISTS; then ++ greenprint "💚 Manifest list digest '${MANIFEST_LIST_DIGEST}' was found!" + else +- echo "😢 container image '${IMAGE_ID}' not in image." ++ echo "😢 Manifest list digest '${MANIFEST_LIST_DIGEST}' not in image." + exit 1 + fi +-- +2.40.0 + + +From 7e39c8cad9037b99aab1f14de2218e8b762fbf11 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Mon, 27 Mar 2023 20:52:45 +0200 +Subject: [PATCH 17/22] Schutzfile: osbuild commit + +Pin osbuild to current main for manifest-list feature. +--- + Schutzfile | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/Schutzfile b/Schutzfile +index ef342ee72..f39897beb 100644 +--- a/Schutzfile ++++ b/Schutzfile +@@ -2,7 +2,7 @@ + "fedora-36": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + }, + "repos": [ +@@ -79,7 +79,7 @@ + "fedora-37": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + }, + "repos": [ +@@ -156,28 +156,28 @@ + "rhel-8.4": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + } + }, + "rhel-8.6": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + } + }, + "rhel-8.7": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + } + }, + "rhel-8.8": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + }, + "repos": [ +@@ -223,21 +223,21 @@ + "rhel-9.0": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + } + }, + "rhel-9.1": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + } + }, + "rhel-9.2": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + }, + "repos": [ +@@ -283,21 +283,21 @@ + "centos-8": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + } + }, + "centos-9": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + } + }, + "centos-stream-9": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + }, + "repos": [ +@@ -343,7 +343,7 @@ + "centos-stream-8": { + "dependencies": { + "osbuild": { +- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" ++ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" + } + }, + "repos": [ +-- +2.40.0 + + +From 49ef4577edf92e212d7a44d6186aaabb9d7b211d Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Sun, 2 Apr 2023 15:13:04 +0200 +Subject: [PATCH 18/22] spec: depend on osbuild v83 + +Set the dependency to osbuild v83 which contains the new features for +preserving manifest lists for containers. + +Added in https://github.com/osbuild/osbuild/pull/1252 +--- + osbuild-composer.spec | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/osbuild-composer.spec b/osbuild-composer.spec +index 39c526dde..0a4512100 100644 +--- a/osbuild-composer.spec ++++ b/osbuild-composer.spec +@@ -295,10 +295,10 @@ The core osbuild-composer binary. This is suitable both for spawning in containe + Summary: The worker for osbuild-composer + Requires: systemd + Requires: qemu-img +-Requires: osbuild >= 81 +-Requires: osbuild-ostree >= 81 +-Requires: osbuild-lvm2 >= 81 +-Requires: osbuild-luks2 >= 81 ++Requires: osbuild >= 83 ++Requires: osbuild-ostree >= 83 ++Requires: osbuild-lvm2 >= 83 ++Requires: osbuild-luks2 >= 83 + Requires: %{name}-dnf-json = %{version}-%{release} + + %description worker +-- +2.40.0 + + +From f14f4e4f98515fdb7d7273998d9e07463573512e Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Tue, 18 Apr 2023 15:32:28 +0200 +Subject: [PATCH 19/22] container: explicitly set LocalName + +Set the LocalName for the spec using a separate argument in the +NewSpec() constructor instead of reusing the `source` arg. +The name is already available in the calling scope in the client's +Resolve() method. + +If the LocalName is an empty string, default to the remote (source) +reference. This is a change from the previous behaviour which only used +the base source.Name(). The full source corresponds to the +user-provided source value, which includes any specified tag or digest. + +The `name` argument which is used in the `Resolve()` function should +always correspond to the user-provided container name. +--- + internal/container/client.go | 2 +- + internal/container/spec.go | 10 ++++++---- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/internal/container/client.go b/internal/container/client.go +index 5e03d31c1..e90fff79c 100644 +--- a/internal/container/client.go ++++ b/internal/container/client.go +@@ -500,7 +500,7 @@ func (cl *Client) Resolve(ctx context.Context, name string) (Spec, error) { + return Spec{}, err + } + +- spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), ids.ListManifest.String()) ++ spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), ids.ListManifest.String(), name) + + return spec, nil + } +diff --git a/internal/container/spec.go b/internal/container/spec.go +index a9db3f731..15fe1572a 100644 +--- a/internal/container/spec.go ++++ b/internal/container/spec.go +@@ -22,14 +22,16 @@ type Spec struct { + // NewSpec creates a new Spec from the essential information. + // It also converts is the transition point from container + // specific types (digest.Digest) to generic types (string). +-func NewSpec(source reference.Named, digest, imageID digest.Digest, tlsVerify *bool, listDigest string) Spec { +- name := source.Name() ++func NewSpec(source reference.Named, digest, imageID digest.Digest, tlsVerify *bool, listDigest string, localName string) Spec { ++ if localName == "" { ++ localName = source.String() ++ } + return Spec{ +- Source: name, ++ Source: source.Name(), + Digest: digest.String(), + TLSVerify: tlsVerify, + ImageID: imageID.String(), +- LocalName: name, ++ LocalName: localName, + ListDigest: listDigest, + } + } +-- +2.40.0 + + +From 0b199b1782f7dd722539efa431237e954b142f16 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Wed, 19 Apr 2023 13:30:43 +0200 +Subject: [PATCH 20/22] container: update unit tests to match expected + behaviour + +--- + internal/container/client_test.go | 4 ++-- + internal/container/container_test.go | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/internal/container/client_test.go b/internal/container/client_test.go +index 49695dae9..eb7a44037 100644 +--- a/internal/container/client_test.go ++++ b/internal/container/client_test.go +@@ -44,7 +44,7 @@ func TestClientResolve(t *testing.T) { + Digest: "sha256:f29b6cd42a94a574583439addcd6694e6224f0e4b32044c9e3aee4c4856c2a50", + ImageID: "sha256:c2ecf25cf190e76b12b07436ad5140d4ba53d8a136d498705e57a006837a720f", + TLSVerify: client.GetTLSVerify(), +- LocalName: ref, ++ LocalName: client.Target.String(), + ListDigest: listDigest, + }, spec) + +@@ -57,7 +57,7 @@ func TestClientResolve(t *testing.T) { + Digest: "sha256:d49eebefb6c7ce5505594bef652bd4adc36f413861bd44209d9b9486310b1264", + ImageID: "sha256:d2ab8fea7f08a22f03b30c13c6ea443121f25e87202a7496e93736efa6fe345a", + TLSVerify: client.GetTLSVerify(), +- LocalName: ref, ++ LocalName: client.Target.String(), + ListDigest: listDigest, + }, spec) + +diff --git a/internal/container/container_test.go b/internal/container/container_test.go +index 85a945471..52ce86504 100644 +--- a/internal/container/container_test.go ++++ b/internal/container/container_test.go +@@ -374,7 +374,7 @@ func (reg *Registry) Resolve(target, arch string) (container.Spec, error) { + Source: ref.String(), + Digest: checksum, + ImageID: mf.ConfigDescriptor.Digest.String(), +- LocalName: ref.String(), ++ LocalName: target, + TLSVerify: common.ToPtr(false), + ListDigest: listDigest, + }, nil +-- +2.40.0 + + +From 349d1ead968f8e787e61eb6bd8965bf2940e60f5 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Wed, 19 Apr 2023 10:04:56 +0200 +Subject: [PATCH 21/22] test: add "name" to test manifests with container + +Add name field to the manifest-list-test container in the test +request. The value is the same as the source but with a `v1` tag +added. + +In the manifests, the name field for the manifest-list-test is added to +the skopeo stage. The `name` option of the fedora-minimal container in +the skopeo stage is also changed to reflect the full source reference +including the `latest` tag. +--- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...arch64-iot_commit_with_container-boot.json | 11 ++++---- + ...x86_64-iot_commit_with_container-boot.json | 11 ++++---- + ...arch64-iot_commit_with_container-boot.json | 11 ++++---- + ...x86_64-iot_commit_with_container-boot.json | 11 ++++---- + ...arch64-iot_commit_with_container-boot.json | 25 ++++++++++--------- + ...x86_64-iot_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + .../rhel_91-aarch64-qcow2_customize-boot.json | 4 +-- + .../rhel_91-ppc64le-qcow2_customize-boot.json | 4 +-- + .../rhel_91-s390x-qcow2_customize-boot.json | 4 +-- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + .../rhel_91-x86_64-qcow2_customize-boot.json | 4 +-- + ...rch64-edge_commit_with_container-boot.json | 11 ++++---- + ...86_64-edge_commit_with_container-boot.json | 11 ++++---- + .../format-request-map.json | 6 +++-- + 35 files changed, 199 insertions(+), 167 deletions(-) + +diff --git a/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json +index ecf6766ab..0dc3b2a96 100644 +--- a/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4891,10 +4892,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -12184,7 +12185,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -12192,7 +12193,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json +index 097cc2005..cf9f9ba1e 100644 +--- a/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -5051,10 +5052,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -12589,7 +12590,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -12597,7 +12598,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json +index ec4673efe..5498f7087 100644 +--- a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4531,10 +4532,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -11355,7 +11356,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -11363,7 +11364,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json +index d231b9496..4c70b8b2a 100644 +--- a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json +@@ -30,7 +30,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4739,10 +4740,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -11855,7 +11856,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -11863,7 +11864,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json +index dca9bd472..0778bddb3 100644 +--- a/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json +@@ -38,7 +38,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "manifest-list-test:v1" + } + ] + } +@@ -5397,10 +5398,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -13449,7 +13450,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -13457,7 +13458,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json +index e3742a48a..ee971e308 100644 +--- a/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json +@@ -38,7 +38,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "manifest-list-test:v1" + } + ] + } +@@ -5517,10 +5518,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "manifest-list-test:v1" + } + } + }, +@@ -13755,7 +13756,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -13763,7 +13764,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json +index 9cce29ff4..07590c7ac 100644 +--- a/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "manifest-list-test:v1" + } + ] + } +@@ -5467,10 +5468,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -13650,7 +13651,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -13658,7 +13659,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json +index 5fc0b2ee4..37649e4ea 100644 +--- a/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "manifest-list-test:v1" + } + ] + } +@@ -5587,10 +5588,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "manifest-list-test:v1" + } + } + }, +@@ -13956,7 +13957,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -13964,7 +13965,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json +index 3b2ddc32f..c38f970d0 100644 +--- a/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "manifest-list-test:v1" + } + ] + } +@@ -5299,10 +5300,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -13270,21 +13271,21 @@ + ] + }, + "containers": [ +- { +- "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", +- "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", +- "TLSVerify": null, +- "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", +- "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" +- }, + { + "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" ++ }, ++ { ++ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", ++ "TLSVerify": null, ++ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", ++ "LocalName": "manifest-list-test:v1", ++ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], + "no-image-info": true +diff --git a/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json +index f1986cd5f..606a73907 100644 +--- a/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json ++++ b/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "manifest-list-test:v1" + } + ] + } +@@ -5403,10 +5404,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "manifest-list-test:v1" + } + } + }, +@@ -13542,7 +13543,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -13550,7 +13551,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json +index 3218630de..c586347bd 100644 +--- a/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json +@@ -22,7 +22,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1907,10 +1908,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -8623,7 +8624,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8631,7 +8632,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json +index 24d984e15..474c7e0fd 100644 +--- a/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json +@@ -30,7 +30,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1977,10 +1978,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -8918,7 +8919,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8926,7 +8927,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json +index 8e24a89e7..48cc58419 100644 +--- a/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json +@@ -22,7 +22,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1868,10 +1869,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -8474,7 +8475,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8482,7 +8483,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json +index 2a7ca1509..f911e978c 100644 +--- a/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json +@@ -30,7 +30,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1938,10 +1939,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -8769,7 +8770,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8777,7 +8778,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json +index 76b1ee048..2dbd7bc0f 100644 +--- a/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json +@@ -22,7 +22,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1889,10 +1890,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -8526,7 +8527,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8534,7 +8535,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json +index bc67a9a85..0ae6d880f 100644 +--- a/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json +@@ -30,7 +30,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1959,10 +1960,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -8821,7 +8822,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8829,7 +8830,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json +index 0ce2c96a6..c6add0335 100644 +--- a/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json +@@ -22,7 +22,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1901,10 +1902,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -8596,7 +8597,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8604,7 +8605,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json +index 06b054f29..e4d716a71 100644 +--- a/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json +@@ -30,7 +30,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1971,10 +1972,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -8891,7 +8892,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8899,7 +8900,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json +index 1a29f877e..1af6201e1 100644 +--- a/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json +@@ -22,7 +22,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1907,10 +1908,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -8623,7 +8624,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8631,7 +8632,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json +index 24dada814..d31893e37 100644 +--- a/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json +@@ -30,7 +30,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1977,10 +1978,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -8918,7 +8919,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8926,7 +8927,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json +index baaf0b90d..1e144282c 100644 +--- a/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json +@@ -22,7 +22,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1907,10 +1908,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -8623,7 +8624,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8631,7 +8632,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json +index c75702c4a..9a86f87d6 100644 +--- a/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json +@@ -30,7 +30,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1977,10 +1978,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -8918,7 +8919,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8926,7 +8927,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json +index 7ca727841..feea13062 100644 +--- a/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4579,10 +4580,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -11466,7 +11467,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -11474,7 +11475,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json +index 5ab941e81..405f66cef 100644 +--- a/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json +@@ -33,7 +33,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4790,10 +4791,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -11969,7 +11970,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -11977,7 +11978,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json +index 2cc34b97a..797861030 100644 +--- a/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json +@@ -22,7 +22,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1781,10 +1782,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -8086,7 +8087,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8094,7 +8095,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json +index 98e39d67a..5bad89cd1 100644 +--- a/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json +@@ -30,7 +30,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -1869,10 +1870,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -8453,7 +8454,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -8461,7 +8462,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json +index 96f0587bd..f2d899ce9 100644 +--- a/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4579,10 +4580,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -11466,7 +11467,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -11474,7 +11475,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json +index 878462742..d37d1f55c 100644 +--- a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json ++++ b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json +@@ -5186,7 +5186,7 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + } +@@ -13442,7 +13442,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + } + ], +diff --git a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json +index 32cc7bfc9..896966d2b 100644 +--- a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json ++++ b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json +@@ -5794,7 +5794,7 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + } +@@ -14937,7 +14937,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + } + ], +diff --git a/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json b/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json +index f12691619..115aaae0c 100644 +--- a/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json ++++ b/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json +@@ -6018,7 +6018,7 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + } +@@ -15430,7 +15430,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + } + ], +diff --git a/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json +index c9052dc32..00dc71480 100644 +--- a/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json +@@ -33,7 +33,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4790,10 +4791,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -11969,7 +11970,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -11977,7 +11978,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json +index c94c84eb5..c1bb51e32 100644 +--- a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json ++++ b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json +@@ -5522,7 +5522,7 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + } +@@ -14273,7 +14273,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + } + ], +diff --git a/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json +index f3ea895fa..3071e7a58 100644 +--- a/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json +@@ -24,7 +24,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4547,10 +4548,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + }, + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + } + } + }, +@@ -11402,7 +11403,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -11410,7 +11411,7 @@ + "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", + "TLSVerify": null, + "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json +index 292208064..1a3709853 100644 +--- a/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json ++++ b/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json +@@ -33,7 +33,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -4758,10 +4759,10 @@ + "origin": "org.osbuild.source", + "references": { + "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" + }, + "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { +- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + } + }, +@@ -11905,7 +11906,7 @@ + "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", + "TLSVerify": null, + "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", + "ListDigest": "" + }, + { +@@ -11913,7 +11914,7 @@ + "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", + "TLSVerify": null, + "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", +- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", + "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" + } + ], +diff --git a/tools/test-case-generators/format-request-map.json b/tools/test-case-generators/format-request-map.json +index f509c0275..96bb5b209 100644 +--- a/tools/test-case-generators/format-request-map.json ++++ b/tools/test-case-generators/format-request-map.json +@@ -125,7 +125,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" + } + ] + } +@@ -301,7 +302,8 @@ + "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" + }, + { +- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" ++ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", ++ "name": "manifest-list-test:v1" + } + ] + } +-- +2.40.0 + + +From c3af4a847284f2c87fa7fd6f017fba7988034cf8 Mon Sep 17 00:00:00 2001 +From: Achilleas Koutsou +Date: Wed, 19 Apr 2023 12:44:08 +0200 +Subject: [PATCH 22/22] test/container-embedding: add checks for container + names + +Add a local name for the fedora minimal image which includes the tag +`v1`. + +Check the image info for the expected names: +1. For the fedora-minimal image, the name as it appears in the blueprint + should be included in the names list. +2. For the manifest-list-test image, the full source reference should be + included in the names list since no name was specified in the + blueprint. +--- + test/cases/container-embedding.sh | 25 ++++++++++++++++++++++++- + 1 file changed, 24 insertions(+), 1 deletion(-) + +diff --git a/test/cases/container-embedding.sh b/test/cases/container-embedding.sh +index 42d9a1259..ba17901e6 100755 +--- a/test/cases/container-embedding.sh ++++ b/test/cases/container-embedding.sh +@@ -55,7 +55,9 @@ COMPOSE_START=${TEMPDIR}/compose-start-${IMAGE_KEY}.json + COMPOSE_INFO=${TEMPDIR}/compose-info-${IMAGE_KEY}.json + + FEDORA_IMAGE_DIGEST="sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" ++FEDORA_LOCAL_NAME="localhost/fedora-minimal:v1" + MANIFEST_LIST_DIGEST="sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" ++MANIFEST_LIST_SOURCE="registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test@${MANIFEST_LIST_DIGEST}" + + # Write a basic blueprint for our container. + tee "$BLUEPRINT_FILE" > /dev/null << EOF +@@ -65,9 +67,10 @@ version = "0.0.1" + + [[containers]] + source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal@${FEDORA_IMAGE_DIGEST}" ++name = "${FEDORA_LOCAL_NAME}" + + [[containers]] +-source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test@${MANIFEST_LIST_DIGEST}" ++source = "${MANIFEST_LIST_SOURCE}" + EOF + + # Prepare the blueprint for the compose. +@@ -138,6 +141,16 @@ else + exit 1 + fi + ++# Check that the local name was set in the names array ++FEDORA_NAME_EXISTS=$(jq -e --arg name "${FEDORA_LOCAL_NAME}" 'any(."container-images"[].Names[] | select(. != null and . == $name); .)' <<< "${INFO}") ++ ++if $FEDORA_NAME_EXISTS; then ++ greenprint "💚 fedora container image's name ${FEDORA_LOCAL_NAME}' was found!" ++else ++ echo "😢 fedora container image's name '${FEDORA_LOCAL_NAME}' not in image." ++ exit 1 ++fi ++ + # Check that the test image's manifest list was included + MANIFEST_LIST_EXISTS=$(jq -e --arg id "${MANIFEST_LIST_DIGEST}" 'any(."container-images" | select(. != null and .[].Digest == $id); .)' <<< "${INFO}") + +@@ -147,3 +160,13 @@ else + echo "😢 Manifest list digest '${MANIFEST_LIST_DIGEST}' not in image." + exit 1 + fi ++ ++# Check that the source was set in the names array as a fallback for the name ++MANIFEST_NAME_EXISTS=$(jq -e --arg name "${MANIFEST_LIST_SOURCE}" 'any(."container-images"[].Names[] | select(. != null and . == $name); .)' <<< "${INFO}") ++ ++if $MANIFEST_NAME_EXISTS; then ++ greenprint "💚 Manifest list's name '${MANIFEST_LIST_SOURCE}' was found!" ++else ++ echo "😢 Manifest list digest's name '${MANIFEST_LIST_SOURCE}' not in image." ++ exit 1 ++fi +-- +2.40.0 + diff --git a/SPECS/osbuild-composer.spec b/SPECS/osbuild-composer.spec index 27e166b..64faa21 100644 --- a/SPECS/osbuild-composer.spec +++ b/SPECS/osbuild-composer.spec @@ -22,7 +22,7 @@ It is compatible with composer-cli and cockpit-composer clients. } Name: osbuild-composer -Release: 2%{?dist}.alma +Release: 2%{?dist}.2.alma Summary: An image building service based on osbuild # osbuild-composer doesn't have support for building i686 and armv7hl images @@ -44,6 +44,10 @@ Patch0: 0001-tests-ostree-Change-centos-8-BOOT_LOCATION-to-a-work.patch Patch1: 0002-distro-rhel-add-payload-repos-to-os-package-set.patch # https://github.com/osbuild/osbuild-composer/pull/3348 Patch2: 0003-Manifest-always-set-kernel-options-in-grub2-stage.patch +# https://github.com/osbuild/osbuild-composer/pull/3410 +Patch3: 0004-simplified-installer-enable-isolinux.patch +# https://github.com/osbuild/osbuild-composer/pull/3411 +Patch4: 0005-Save-manifest-lists-when-pulling-containers-Set-container-local-names-explicitly.patch # AlmaLinux patch Patch100: almalinux_support.patch @@ -292,10 +296,10 @@ The core osbuild-composer binary. This is suitable both for spawning in containe Summary: The worker for osbuild-composer Requires: systemd Requires: qemu-img -Requires: osbuild >= 81 -Requires: osbuild-ostree >= 81 -Requires: osbuild-lvm2 >= 81 -Requires: osbuild-luks2 >= 81 +Requires: osbuild >= 81-1.el9_2.1 +Requires: osbuild-ostree >= 81-1.el9_2.1 +Requires: osbuild-lvm2 >= 81-1.el9_2.1 +Requires: osbuild-luks2 >= 81-1.el9_2.1 Requires: %{name}-dnf-json = %{version}-%{release} %description worker @@ -414,9 +418,15 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c %endif %changelog -* Tue May 09 2023 Eduard Abdullin - 76-2.alma +* Tue May 09 2023 Eduard Abdullin - 76-2.2.alma - Add AlmaLinux support +* Tue Apr 25 2023 Achilleas Koutsou - 76-2.2 +- Save manifest lists when pulling containers & Set container local names explicitly (rhbz#2189400) + +* Tue Apr 25 2023 Tomáš Hozza - 76-2.1 +- simplified-installer: enable isolinux (rhbz#2178130) + * Mon Mar 27 2023 Tomáš Hozza - 76-2 - distro/rhel: add payload repos to os package set (rhbz#2177699) - Manifest: always set kernel options in grub2 stage (rhbz#2162299)