Skip to content

Push a CNAB Bundle to GCR fails  #69

Description

@silvin-lubecki

Pushing a CNAB bundle to gcr.io returns an error:

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions