From 739c3ff30c9374524096772333dfa91db69ffe88 Mon Sep 17 00:00:00 2001 From: Steve Cliff Date: Fri, 21 Aug 2026 17:20:41 +0100 Subject: [PATCH] Disable buildx attestations so pushes to the Registry v2 host succeed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit buildx attaches provenance/SBOM attestation manifests by default, which makes each built image an OCI image index (application/vnd.oci.image.index.v1+json). docker.dcglab.co.uk rejects those with a 500 on the manifest PUT — blobs upload fine, then the manifest fails, so the push looks like an auth problem when it is not. Passing --provenance=false --sbom=false yields a plain image manifest, which the registry accepts. Co-Authored-By: Claude Opus 5 (1M context) --- release-engine.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/release-engine.sh b/release-engine.sh index c4855e2..24253c7 100755 --- a/release-engine.sh +++ b/release-engine.sh @@ -15,6 +15,10 @@ ENGINE_DIR="$SCRIPT_DIR/engine" VERSION_FILE="$ENGINE_DIR/VERSION" # Container registry +# +# --provenance=false --sbom=false on every build: buildx would otherwise attach +# attestation manifests, making the image an OCI image index. The Registry v2 +# host at docker.dcglab.co.uk rejects those with a 500 on manifest PUT. REGISTRY="${REGISTRY:-docker.dcglab.co.uk}" IMAGE_ORG="${IMAGE_ORG:-}" IMAGE_BASE="${REGISTRY}${IMAGE_ORG:+/${IMAGE_ORG}}/kb" @@ -155,8 +159,8 @@ CPU_IMAGE="${IMAGE_BASE}/engine:${DOCKER_TAG}-cpu" NVIDIA_LATEST="${IMAGE_BASE}/engine:latest-nvidia" CPU_LATEST="${IMAGE_BASE}/engine:latest-cpu" -run docker build -t "$NVIDIA_IMAGE" -t "$NVIDIA_LATEST" -f "$ENGINE_DIR/Dockerfile.nvidia" "$ENGINE_DIR" -run docker build -t "$CPU_IMAGE" -t "$CPU_LATEST" -f "$ENGINE_DIR/Dockerfile.cpu" "$ENGINE_DIR" +run docker build --provenance=false --sbom=false -t "$NVIDIA_IMAGE" -t "$NVIDIA_LATEST" -f "$ENGINE_DIR/Dockerfile.nvidia" "$ENGINE_DIR" +run docker build --provenance=false --sbom=false -t "$CPU_IMAGE" -t "$CPU_LATEST" -f "$ENGINE_DIR/Dockerfile.cpu" "$ENGINE_DIR" echo "" @@ -171,7 +175,7 @@ if [[ -f "$MCP_DIR/Dockerfile" ]]; then MCP_IMAGE="${IMAGE_BASE}/mcp:${DOCKER_TAG}" MCP_LATEST="${IMAGE_BASE}/mcp:latest" - run docker build -t "$MCP_IMAGE" -t "$MCP_LATEST" -f "$MCP_DIR/Dockerfile" "$MCP_DIR" + run docker build --provenance=false --sbom=false -t "$MCP_IMAGE" -t "$MCP_LATEST" -f "$MCP_DIR/Dockerfile" "$MCP_DIR" echo "" fi