From b0eddd28d8899b2d580f1eb9a9a4e536767230e1 Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 21 Sep 2026 22:56:25 +0200 Subject: [PATCH] build-route-proxy-image.sh builds FROM the bases the manifest declares --- scripts/build-route-proxy-image.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/build-route-proxy-image.sh b/scripts/build-route-proxy-image.sh index f660349..42e85d6 100755 --- a/scripts/build-route-proxy-image.sh +++ b/scripts/build-route-proxy-image.sh @@ -22,7 +22,18 @@ DOCKERFILE="$MESH_CATALOG/modules/route-proxy/Dockerfile" [ -f "$MESH_CONTROL/examples/route-proxy/main.go" ] || { echo "no proxy source at $MESH_CONTROL/examples/route-proxy" >&2; exit 1; } +# The bases the manifest declares (novox/hq ADR 0097) are what this build starts FROM — the same +# images the mesh's builder would copy and hand the recipe, not the Dockerfile's floating defaults. +BASES=() +while IFS=$'\t' read -r arg image; do + [ -n "$arg" ] && BASES+=(--build-arg "$arg=$image") +done < <(python3 -c ' +import json, sys +for on in json.load(open(sys.argv[1])).get("build", {}).get("on", []): + print(on["arg"], on["image"], sep="\t") +' "$MESH_CATALOG/modules/route-proxy/module.json") + # Context is the mesh-controller repository root: the proxy compiles against that module's go.mod and # its examples/route-proxy package. -docker build -f "$DOCKERFILE" -t "$TAG" "$MESH_CONTROL" +docker build -f "$DOCKERFILE" "${BASES[@]}" -t "$TAG" "$MESH_CONTROL" echo "built $TAG (from $MESH_CONTROL/examples/route-proxy)"