From 17fd6562bf5cbfdca0630ea840b596bb1ef6a05c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Gronowski?= Date: Mon, 22 Jan 2024 13:45:34 +0100 Subject: [PATCH] image/save: Fix layers order in OCI manifest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Order the layers in OCI manifest by their actual apply order. This is required by the OCI image spec. Signed-off-by: Paweł Gronowski --- image/tarexport/save.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/image/tarexport/save.go b/image/tarexport/save.go index b69b849884..41857dbebe 100644 --- a/image/tarexport/save.go +++ b/image/tarexport/save.go @@ -210,7 +210,9 @@ func (s *saveSession) save(outStream io.Writer) error { foreign = make([]ocispec.Descriptor, 0, len(foreignSrcs)) ) - for _, desc := range foreignSrcs { + // Layers in manifest must follow the actual layer order from config. + for _, l := range imageDescr.layers { + desc := foreignSrcs[l] foreign = append(foreign, ocispec.Descriptor{ MediaType: desc.MediaType, Digest: desc.Digest,