chore(docker): env2 runs its own image tag, leader-auto-down overlay, drill targets env2 (#116)

- docker/build.sh: SCADABRIDGE_IMAGE picks the tag (default scadabridge:latest).
- docker-env2/docker-compose.yml: node image is ${SCADABRIDGE_IMAGE:-scadabridge:latest},
  so env2 can run its own build without retagging the primary rig's image.
- docker-env2/docker-compose.leader-auto-down.yml: opt-in overlay for both env2 pairs,
  mirroring docker/docker-compose.leader-auto-down.yml. Shipped default stays auto-down.
- docker/failover-drill.sh: DRILL_ENV=primary|env2 (container prefix, Traefik :9100,
  pair site-x).

Claude-Session: https://claude.ai/code/session_01GT67ACmpMR7b9LGRPLijMi
This commit is contained in:
Joseph Doherty
2026-11-12 23:09:59 -05:00
parent a92a418d7f
commit e8a743de9f
5 changed files with 69 additions and 19 deletions
+9 -3
View File
@@ -34,15 +34,21 @@ if [ -z "$SOURCE_REVISION" ] && git -C "$REPO_ROOT" rev-parse --git-dir >/dev/nu
fi
echo "Source revision: ${SOURCE_REVISION:-<none>}"
# Image tag. Default scadabridge:latest (what docker/docker-compose.yml runs). Set
# SCADABRIDGE_IMAGE to build under another tag without touching :latest, e.g. so
# docker-env2 can run a different build while another agent uses the primary rig
# (ScadaBridge#116 env2 rollout). docker-env2/docker-compose.yml reads the same variable.
IMAGE="${SCADABRIDGE_IMAGE:-scadabridge:latest}"
# Build from repo root (so COPY paths in Dockerfile resolve correctly)
echo "Building scadabridge:latest image..."
echo "Building ${IMAGE} image..."
# Note: ${NUGET_ARGS[@]+...} guards against the "unbound variable" error that
# set -u raises on bash 3.2 (macOS default) when expanding an empty array.
docker build \
-t scadabridge:latest \
-t "${IMAGE}" \
-f "$SCRIPT_DIR/Dockerfile" \
${NUGET_ARGS[@]+"${NUGET_ARGS[@]}"} \
--build-arg "SOURCE_REVISION=${SOURCE_REVISION}" \
"$REPO_ROOT"
echo "Build complete: scadabridge:latest"
echo "Build complete: ${IMAGE}"