Skip to content

Using tagged version for Hive release causes issues for amd64 images in k8s #6756

Open
@sidneyprins

Description

@sidneyprins

Hello,

So I am trying to set-up the Hive in the kubernetes cluster. The guide of self-hosting says to tag a specific version, showing 3.0.0 as an example. The latest version is hive@6.0.0.

Translating that to an image gives me ghcr.io/graphql-hive/server:6.0.0.

So... When I run a pod with this, it'll say exec /entrypoint.sh: exec format error.

So I check out what docker inspect tells me

docker buildx imagetools inspect ghcr.io/graphql-hive/server:6.0.0

Name:      ghcr.io/graphql-hive/server:6.0.0
MediaType: application/vnd.docker.distribution.manifest.v2+json
Digest:    sha256:600d2819a50ffeb35dc181bc2f705f332af0af7e6dbdcaeb150ae5e47e9e371d

Normally I would expect it to list multiple images, because it is built for multi platform.

Alright, but what if I grab the SHA of Hive 6.0.0?

docker buildx imagetools inspect ghcr.io/graphql-hive/server:535283c136675abc4a3dc698b9711fad197730c7

Name:      ghcr.io/graphql-hive/server:535283c136675abc4a3dc698b9711fad197730c7
MediaType: application/vnd.docker.distribution.manifest.list.v2+json
Digest:    sha256:ecb8daee9612bda250ea980d0d26bcf03c7da966785de2a0b0039e13a8ea0957
           
Manifests: 
  Name:      ghcr.io/graphql-hive/server:535283c136675abc4a3dc698b9711fad197730c7@sha256:b13f4a1bd8b322ba18d6c4645ca15fbe651d3b1b149820d7be6336774f5bb684
  MediaType: application/vnd.docker.distribution.manifest.v2+json
  Platform:  linux/amd64
             
  Name:      ghcr.io/graphql-hive/server:535283c136675abc4a3dc698b9711fad197730c7@sha256:806e193a56622cd56eacb3ff85eba2736352e80ca45666ea68a081057821fe85
  MediaType: application/vnd.docker.distribution.manifest.v2+json
  Platform:  linux/arm64

As you can see, the SHA commit of Hive 6.0.0 (found on the release page) does properly tag the other images it belongs to and for which platform it is.

It also actually runs, so this means downloading the image through the SHA works properly.

Does that mean I shouldn't be using specific versions, instead use the SHA? From a perspective of reading what version we use, 6.0.0 is much clearer than 535283c.

Metadata

Metadata

Assignees

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