hack/microvm-image-tag.sh
Rama main · réplica de lectura del repositorio original.
#!/bin/sh
# Content-derived tags for the runtime (default) or NVIDIA guest image.
set -eu
cd "$(dirname "$0")/.."
variant="${1:-runtime}"
[ "$#" -le 1 ] || { echo "usage: $0 [runtime|nvidia]" >&2; exit 1; }
set -- docker/Dockerfile.microvm docker/microvm
suffix=""
case "$variant" in
runtime) ;;
nvidia) set -- "$@" docker/Dockerfile.vm-gpu; suffix="-nvidia" ;;
*) echo "usage: $0 [runtime|nvidia]" >&2; exit 1 ;;
esac
if command -v sha256sum >/dev/null 2>&1; then
sum() { sha256sum "$@"; }
else
sum() { shasum -a 256 "$@"; }
fi
files="$(find "$@" -type f)"
tag="$(printf '%s\n' "$files" | LC_ALL=C sort | while read -r f; do sum "$f"; done | sum | cut -c1-12)"
printf '%s%s\n' "$tag" "$suffix"