You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Error: error while pushing bundle config manifest: unexpected status: 400 Bad Request
After some investigation, we found multiple caveats:
The bundle manifest itself had only a config field and a null layer field. This was fixed in Add a layer for the bundle config manifest #64 , adding a dummy layer pointing to the config object itself (it adds duplication)
When using external (mostly multi architecture images) images for services, we are potentially mixing different format representations: one service can be a manifest list, another an OCI index, and the CNAB itself be an OCI index too. This mix is not supported by gcr (and maybe other registries too). I think we can't guarantee that every service image will share the same format, so the minimum we can do is to fail if we detect a mix between images. That said, we need to also improve cnab-to-oci to detect which format we should use, depending the one found in the service images, instead of the fallback mechanism (try with OCI Index then Docker Manifest List).
Pushing a CNAB bundle to
gcr.ioreturns an error:After some investigation, we found multiple caveats:
nulllayer field. This was fixed in Add a layer for the bundle config manifest #64 , adding a dummy layer pointing to the config object itself (it adds duplication)manifest list, another an OCI index, and the CNAB itself be an OCI index too. This mix is not supported by gcr (and maybe other registries too). I think we can't guarantee that every service image will share the same format, so the minimum we can do is to fail if we detect a mix between images. That said, we need to also improve cnab-to-oci to detect which format we should use, depending the one found in the service images, instead of the fallback mechanism (try withOCI IndexthenDocker Manifest List).