Support application/vnd.docker.attestation.manifest.v1+json media type

relates to:

Since BuildKit v0.19.0, we support pushing the attestation manifest as an OCI artifact. Unfortunately push for such manifest gets rejected by Gitlab registry:

#7 exporting to image
#7 pushing layers 4.3s done
#7 pushing manifest for registry.gitlab.com/test1716/test:buildkit-6171@sha256:b19cd7deb0c0b4def846a6f3709bfcc51836237385f48c5af3d122ccdf7c33b4
#7 pushing manifest for registry.gitlab.com/test1716/test:buildkit-6171@sha256:b19cd7deb0c0b4def846a6f3709bfcc51836237385f48c5af3d122ccdf7c33b4 0.5s done
#7 ERROR: failed to push registry.gitlab.com/test1716/test:buildkit-6171: unknown: manifest invalid - unknown media type: application/vnd.docker.attestation.manifest.v1+json

The attestation manifest looks like this:

{
   "schemaVersion":2,
   "mediaType":"application/vnd.oci.image.manifest.v1+json",
   "artifactType":"application/vnd.docker.attestation.manifest.v1+json",
   "config":{
      "mediaType":"application/vnd.oci.empty.v1+json",
      "digest":"sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",
      "size":2,
      "data":"e30="
   },
   "layers":[
      {
         "mediaType":"application/vnd.in-toto+json",
         "digest":"sha256:68bca3dca58f009e74deaf3c646dbec31aedd970adc6146c3377401cf957a712",
         "size":4351,
         "annotations":{
            "in-toto.io/predicate-type":"https://slsa.dev/provenance/v0.2"
         }
      }
   ],
   "subject":{
      "mediaType":"application/vnd.oci.image.manifest.v1+json",
      "digest":"sha256:11c3b70deec71f320a2cd4674fef481a690a6d2d2a669a13327e2e158d185e01",
      "size":860
   }
}

Looking at supported media types https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/supported-media-types.md, I guess application/vnd.docker.attestation.manifest.v1+json needs to be added to the database?

Thanks

Edited by CrazyMax