skillhub/scripts/mirror-runtime-images.sh

29 lines
807 B
Bash

#!/usr/bin/env bash
set -euo pipefail
IMAGES_FILE="${1:-deploy/runtime-mirror-images.txt}"
: "${MIRROR_REGISTRY:?MIRROR_REGISTRY is required}"
: "${MIRROR_NAMESPACE:?MIRROR_NAMESPACE is required}"
target_prefix="${MIRROR_REGISTRY%/}/${MIRROR_NAMESPACE}"
while read -r source target; do
if [[ -z "${source}" || "${source}" == \#* ]]; then
continue
fi
if [[ -z "${target:-}" ]]; then
echo "Missing target image mapping for ${source}" >&2
exit 1
fi
if docker buildx imagetools inspect "${target_prefix}/${target}" >/dev/null 2>&1; then
echo "Skipping existing image ${target_prefix}/${target}"
continue
fi
echo "Mirroring ${source} -> ${target_prefix}/${target}"
docker buildx imagetools create --tag "${target_prefix}/${target}" "${source}"
done < "${IMAGES_FILE}"