# Shared setup for bin/ scripts. Source after `set -euo pipefail`. # # Expects IMAGE and DATE in the environment (the Makefile exports them) and # takes the target arch as $1 where relevant. : "${IMAGE:=git.eeqj.de/sneak/baseimage}" : "${DATE:=$(date +%Y-%m-%d)}" LOGDIR="logs/$DATE" mkdir -p "$LOGDIR" # Point docker at the daemon for the given arch. DOCKER_HOST_ empty or # unset means the local daemon. use_arch_host() { local arch="$1" var host var="DOCKER_HOST_${arch}" host="${!var:-}" if [ -n "$host" ]; then export DOCKER_HOST="$host" else unset DOCKER_HOST fi local actual actual="$(docker version --format '{{.Server.Arch}}')" if [ "$actual" != "$arch" ]; then echo "error: daemon for $arch (${host:-local}) reports arch $actual" >&2 return 1 fi } dev_tag() { echo "baseimage:dev-$1"; } arch_tag() { echo "$IMAGE:$1"; }