From 18fd67ed6f173e7b811e88377bae068f4d1ce617 Mon Sep 17 00:00:00 2001 From: Nico Duldhardt Date: Fri, 27 Feb 2026 21:06:34 +0100 Subject: [PATCH] fix: remove hardcoded TARGETARCH/TARGETOS defaults that break arm64 builds All Go-based Dockerfiles declare ARG TARGETARCH=amd64 inside the builder stage. Per docker/buildx#510, explicit defaults on automatic platform args shadow the values that buildx injects via --platform. This causes every platform variant to compile an amd64 binary, regardless of the target platform. The CI workflow correctly passes platforms: linux/amd64,linux/arm64 to docker/build-push-action, but the resulting arm64 image layers contain amd64 Go binaries. Running on arm64 hosts (e.g. AWS Graviton) fails with: exec format error The fix removes the =linux and =amd64 defaults. Buildx sets these args automatically per platform. Without defaults, the injected values are used correctly. Affected images: broker, operator, console, proxy, mcp, e2e-client. --- deploy/docker/broker.Dockerfile | 4 ++-- deploy/docker/console.Dockerfile | 4 ++-- deploy/docker/e2e-client.Dockerfile | 4 ++-- deploy/docker/mcp.Dockerfile | 4 ++-- deploy/docker/operator.Dockerfile | 4 ++-- deploy/docker/proxy.Dockerfile | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/deploy/docker/broker.Dockerfile b/deploy/docker/broker.Dockerfile index e7f0a1e..1d413e5 100644 --- a/deploy/docker/broker.Dockerfile +++ b/deploy/docker/broker.Dockerfile @@ -3,8 +3,8 @@ ARG GO_VERSION=1.25.2 FROM golang:${GO_VERSION}-alpine@sha256:06cdd34bd531b810650e47762c01e025eb9b1c7eadd191553b91c9f2d549fae8 AS builder -ARG TARGETOS=linux -ARG TARGETARCH=amd64 +ARG TARGETOS +ARG TARGETARCH WORKDIR /src RUN apk add --no-cache git ca-certificates diff --git a/deploy/docker/console.Dockerfile b/deploy/docker/console.Dockerfile index 6353f7e..abaf6ed 100644 --- a/deploy/docker/console.Dockerfile +++ b/deploy/docker/console.Dockerfile @@ -3,8 +3,8 @@ ARG GO_VERSION=1.25.2 FROM golang:${GO_VERSION}-alpine@sha256:06cdd34bd531b810650e47762c01e025eb9b1c7eadd191553b91c9f2d549fae8 AS builder -ARG TARGETOS=linux -ARG TARGETARCH=amd64 +ARG TARGETOS +ARG TARGETARCH WORKDIR /src RUN apk add --no-cache git ca-certificates diff --git a/deploy/docker/e2e-client.Dockerfile b/deploy/docker/e2e-client.Dockerfile index ea882a9..9ee489d 100644 --- a/deploy/docker/e2e-client.Dockerfile +++ b/deploy/docker/e2e-client.Dockerfile @@ -3,8 +3,8 @@ ARG GO_VERSION=1.25.2 FROM golang:${GO_VERSION}-alpine@sha256:06cdd34bd531b810650e47762c01e025eb9b1c7eadd191553b91c9f2d549fae8 AS builder -ARG TARGETOS=linux -ARG TARGETARCH=amd64 +ARG TARGETOS +ARG TARGETARCH WORKDIR /src RUN apk add --no-cache git ca-certificates diff --git a/deploy/docker/mcp.Dockerfile b/deploy/docker/mcp.Dockerfile index f4acf4c..198be46 100644 --- a/deploy/docker/mcp.Dockerfile +++ b/deploy/docker/mcp.Dockerfile @@ -3,8 +3,8 @@ ARG GO_VERSION=1.25.2 FROM golang:${GO_VERSION}-alpine@sha256:06cdd34bd531b810650e47762c01e025eb9b1c7eadd191553b91c9f2d549fae8 AS builder -ARG TARGETOS=linux -ARG TARGETARCH=amd64 +ARG TARGETOS +ARG TARGETARCH WORKDIR /src RUN apk add --no-cache git ca-certificates diff --git a/deploy/docker/operator.Dockerfile b/deploy/docker/operator.Dockerfile index 2f9f9db..12f04c6 100644 --- a/deploy/docker/operator.Dockerfile +++ b/deploy/docker/operator.Dockerfile @@ -3,8 +3,8 @@ ARG GO_VERSION=1.25.2 FROM golang:${GO_VERSION}-alpine@sha256:06cdd34bd531b810650e47762c01e025eb9b1c7eadd191553b91c9f2d549fae8 AS builder -ARG TARGETOS=linux -ARG TARGETARCH=amd64 +ARG TARGETOS +ARG TARGETARCH WORKDIR /src RUN apk add --no-cache git ca-certificates diff --git a/deploy/docker/proxy.Dockerfile b/deploy/docker/proxy.Dockerfile index b2b9fc8..b7fdc68 100644 --- a/deploy/docker/proxy.Dockerfile +++ b/deploy/docker/proxy.Dockerfile @@ -3,8 +3,8 @@ ARG GO_VERSION=1.25.2 FROM golang:${GO_VERSION}-alpine@sha256:06cdd34bd531b810650e47762c01e025eb9b1c7eadd191553b91c9f2d549fae8 AS builder -ARG TARGETOS=linux -ARG TARGETARCH=amd64 +ARG TARGETOS +ARG TARGETARCH WORKDIR /src RUN apk add --no-cache git ca-certificates