#!/usr/bin/env bash # Resolve an image tag to a content-addressable digest for pinning. # # Usage: # scripts/resolve-digests.sh public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:latest # scripts/resolve-digests.sh # default image # # Prints three lines: # repo: public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo # digest: sha256:abc123... # pin: public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo@sha256:abc123... # # Paste the digest into the env's terraform (var.image_digest) to pin. set -euo pipefail IMG="${1:-public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:latest}" engine="" if command -v podman >/dev/null 2>&1; then engine=podman elif command -v docker >/dev/null 2>&1; then engine=docker else echo "need podman or docker on PATH" >&2; exit 1 fi "$engine" pull --quiet "$IMG" >/dev/null digest="$("$engine" image inspect "$IMG" --format '{{.Digest}}')" repo="${IMG%:*}" printf 'repo: %s\n' "$repo" printf 'digest: %s\n' "$digest" printf 'pin: %s@%s\n' "$repo" "$digest"