helium/gateway-rs

Invalid manifest problem on quay.io releases

MuratUrsavas opened this issue · 12 comments

Hi,

We're using Helium's official Docker repo for our base images and doing multi-architecture deployments (amd64 and arm64). Therefore current releases are perfect fit for us. But we can't pin our images to a tag directly as newly built image doesn't contain the correct architecture base image and gives error about architecture mismatch. Hence we have to pin base images with their specific architecture SHA and obviously this creates problems with multi architecture deployments.

image

My hunch says these two unknown entities could be the issue, but of course I'm not sure. What could be done to workaround this issue?

@MuratUrsavas could you post the exact error you are getting back?

Are you using docker buildx?

Are you using docker buildx?

Yes we are

Are you using docker buildx?

The two ghost architectures seem to be causing issues

an actual error message would be helpful

@madninja Here's the error container is throwing at start:

standard_init_linux.go:219: exec user process caused: exec format error

This happens with architecture mismatch.

@madninja Here's the error container is throwing at start:

standard_init_linux.go:219: exec user process caused: exec format error

This happens with architecture mismatch.

thanks for the report.. LongAP pointed out there appear to be two additional manifests in the docker image that not all docker systems are apparently able to deal with. We'll get this fixed.. cc @JayKickliter

I'm working on a fix. Thanks for the info.

Canyon try the most recent test-image? I got rid of the problematic manifests.

Fixed with #412

Working well for us now.

Thanks for the quick resolution 😁

Just FYI you can also solve this by using a platform tag in GitHub actions docker build (if building a new container based on the helium one)...

      - name: Build and push
        id: docker_build
        uses: docker/build-push-action@v3
        with:
          push: true
          platforms: linux/arm64

This then correctly pulls the image.

See here for reference: https://github.com/NebraLtd/hm-gatewayrs/blob/6881bf6e472e5239065487c4be72af71ba5f35d0/.github/workflows/compile-docker.yml#L51