From d3e770254de0bb301815ca87257c8b1a357d06c4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 26 Apr 2026 21:02:47 +0800 Subject: hehe --- scripts/resolve-digests.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 scripts/resolve-digests.sh (limited to 'scripts') diff --git a/scripts/resolve-digests.sh b/scripts/resolve-digests.sh new file mode 100755 index 0000000..526d463 --- /dev/null +++ b/scripts/resolve-digests.sh @@ -0,0 +1,31 @@ +#!/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" -- cgit