aws-ebs-csi-driver icon indicating copy to clipboard operation
aws-ebs-csi-driver copied to clipboard

Stop tagging OS/architecture specific images in public ECR

Open torredil opened this issue 2 years ago • 0 comments

What happened?

  • Currently, ECR public contains additional tags for platform and architecture specific images. This adds unnecessary overhead and is undesirable because the main tag is a manifest list of all the possible images; by using this tag the docker daemon will automatically pull the correct image for the local platform and architecture.
Screen Shot 2022-07-19 at 11 31 41 AM
$ crane manifest public.ecr.aws/ebs-csi-driver/aws-ebs-csi-driver:v1.9.0        

{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 1162,
         "digest": "sha256:51dfa168f3012a7c91f75a811db7563455c6339d514b25dcbda447de028a9326",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 1162,
         "digest": "sha256:b3c82afc83b3e04a4b31dd1efe6dab74a2da327ba143e274651b456f6bb3966e",
         "platform": {
            "architecture": "arm64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 956,
         "digest": "sha256:2a96982d679f06a4c382113db2420e8d27e6878f5d697cf513751b3f8c75fea5",
         "platform": {
            "architecture": "amd64",
            "os": "windows",
            "os.version": "10.0.17763.3046"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 957,
         "digest": "sha256:285484dc870a916f545b93844f87716e5835ed848bbe6134e94c7aa2c6b163e5",
         "platform": {
            "architecture": "amd64",
            "os": "windows",
            "os.version": "10.0.19042.1766"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 956,
         "digest": "sha256:9c9cba1471cac3f8df171f6bf50baaebfbed4fbfb33f6fdd4d67bc263c755077",
         "platform": {
            "architecture": "amd64",
            "os": "windows",
            "os.version": "10.0.17763.3046"
         }
      }
   ]
}

What you expected to happen?

  • Only the manifest list should be tagged, as done in GCR: https://console.cloud.google.com/gcr/images/k8s-artifacts-prod/US/provider-aws/aws-ebs-csi-driver

How to reproduce it (as minimally and precisely as possible)?

  • View image tags in public ECR: https://gallery.ecr.aws/ebs-csi-driver/aws-ebs-csi-driver

torredil avatar Jul 19 '22 16:07 torredil