Show supported platform(s) of multi-architecture container registry images in the UI
## Context Part of https://gitlab.com/groups/gitlab-org/-/epics/11952+. This is based on customer feedback. See https://gitlab.com/gitlab-org/gitlab/-/issues/232815#note_1049773458. ## Task Multi-architecture container images are based on [Docker manifest lists](https://docs.docker.com/registry/spec/manifest-v2-2/#manifest-list) or [OCI image indexes](https://github.com/opencontainers/image-spec/blob/main/image-index.md). Regardless of which, the manifest of multi-architecture images have a `platform` object which contains _at least_ the following attributes: - `architecture`: The target CPU architecture; - `os`: The target operating system. Sample Docker manifest list payload: ```yaml { "schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json", "manifests": [ { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 7143, "digest": "sha256:e692418e4cbaf90ca69d05a66403747baa33ee08806650b51fab815ad7fc331f", "platform": { "architecture": "arm64", "os": "linux" } }, { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 7682, "digest": "sha256:5b0bcabd1ed22e9fb1310cf6c2dec7cdef19f0ad69efa1f392e94a4333501270", "platform": { "architecture": "amd64", "os": "linux" } } ] } ``` The above shows that this multi-arch image comprises two platform-specific images, one for `arm64/linux` and another for `amd64/linux`. ## Problem We're not displaying the supported platform(s) of multi-architecture container images in the UI. This requires users to either manually pull the image or inspect its manifest payload with e.g., [`docker manifest inspect`](https://docs.docker.com/engine/reference/commandline/manifest_inspect/). ## Proposal Display supported platform(s) for multi-architecture images. This can be done for example, with a badge for each supported platform, as illustrated below: ![image](/uploads/f76a6029e690cc7d0f37fb21f7a0916e/image.png) The benefit of this is to provide a visual clue that lets users easily identify what platform-specific images a given list/index supports without having to manual open the details for each of them to see that information (which is currently not available but will be added in https://gitlab.com/gitlab-org/gitlab/-/issues/408873). ## Implementation This is currently blocked as 1) we lack a performant/scalable way to embed the platform details into the [List Repository Tags](https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/spec/gitlab/api.md?ref_type=heads#list-repository-tags) API response 2) circumventing the former by doing extra API requests would be cumbersome and perform poorly. For this reason, we should first focus on a simpler iteration: showing the platform details not on the tags list page (this issue) but on the tags details page: https://gitlab.com/gitlab-org/gitlab/-/issues/408873+. ### Update This is being implemented as proposed in https://gitlab.com/gitlab-org/gitlab/-/work_items/369852#note_3110818120
issue