From 1cef3f7e848a61f689bf9759178cceba6895986a Mon Sep 17 00:00:00 2001 From: busya Date: Wed, 11 Mar 2026 12:40:54 +0300 Subject: [PATCH] chore: include docker image metadata in offline bundle manifest --- scripts/build_offline_docker_bundle.sh | 61 ++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/scripts/build_offline_docker_bundle.sh b/scripts/build_offline_docker_bundle.sh index 8187df95..34ba2953 100755 --- a/scripts/build_offline_docker_bundle.sh +++ b/scripts/build_offline_docker_bundle.sh @@ -14,6 +14,20 @@ POSTGRES_IMAGE="${POSTGRES_IMAGE:-postgres:16-alpine}" BACKEND_IMAGE="ss-tools-backend:${TAG}" FRONTEND_IMAGE="ss-tools-frontend:${TAG}" +get_image_id() { + docker image inspect --format '{{.Id}}' "$1" +} + +get_repo_digest() { + local digest + digest="$(docker image inspect --format '{{join .RepoDigests ","}}' "$1" 2>/dev/null || true)" + if [[ -n "${digest}" && "${digest}" != "" ]]; then + printf '%s' "${digest}" + else + printf '%s' "unavailable" + fi +} + mkdir -p "${DIST_ROOT}" cd "${PROJECT_ROOT}" @@ -38,16 +52,63 @@ echo "[offline-bundle] calculating checksums" sha256sum "backend.${TAG}.tar" "frontend.${TAG}.tar" "postgres.${TAG}.tar" > "sha256sums.${TAG}.txt" ) +BACKEND_IMAGE_ID="$(get_image_id "${BACKEND_IMAGE}")" +FRONTEND_IMAGE_ID="$(get_image_id "${FRONTEND_IMAGE}")" +POSTGRES_IMAGE_ID="$(get_image_id "${POSTGRES_IMAGE}")" + +BACKEND_REPO_DIGEST="$(get_repo_digest "${BACKEND_IMAGE}")" +FRONTEND_REPO_DIGEST="$(get_repo_digest "${FRONTEND_IMAGE}")" +POSTGRES_REPO_DIGEST="$(get_repo_digest "${POSTGRES_IMAGE}")" + cat > "${DIST_ROOT}/manifest.${TAG}.txt" < "${DIST_ROOT}/manifest.${TAG}.json" <