tanzu isolated-cluster download-bundle --source-repo <SOURCE-REGISTRY> --tkg-version <TKG-VERSION> --ca-certificate <SECURITY-CERTIFICATE>TKG 2.5.4
Please find the step by step instructions below
df -h tanzu isolated-cluster list-bundle --source-repo projects.registry.vmware.com/tkg --tkg-version v2.5.4ls -l bundle_list_v2.5.4.conf image_list_v2.5.4.confUpdate the local retrieval process to use segmented downloads via imgpkg instead of a single stream. By wrapping the tool in a loop to download images and bundles iteratively, the script now includes a check to safely resume execution following network interruptions.
Define target staging directory with sufficient block storage
STAGING_DIR="/mnt/tkg-offline"
mkdir -p "${STAGING_DIR}/bundles" "${STAGING_DIR}/images"
echo "Executing segmented bundle extraction..."
while read -r bundle; do
# Generate a safe filesystem name from the registry path
safe_name=$(echo "$bundle" | awk -F'/' '{print $NF}' | tr ':' '-')
target_tar="${STAGING_DIR}/bundles/${safe_name}.tar"
if [ ! -f "$target_tar" ]; then
echo "Downloading Bundle: ${bundle}"
imgpkg copy -b "${bundle}" --to-tar "$target_tar"
else
echo "Skipping Bundle: ${bundle} - Artifact verified on disk"
fi
done < bundle_list_v2.5.4.conf
echo "Executing segmented image extraction..."
while read -r image; do
safe_name=$(echo "$image" | awk -F'/' '{print $NF}' | tr ':' '-')
target_tar="${STAGING_DIR}/images/${safe_name}.tar"
if [ ! -f "$target_tar" ]; then
echo "Downloading Image: ${image}"
imgpkg copy -i "${image}" --to-tar "$target_tar"
else
echo "Skipping Image: ${image} - Artifact verified on disk"
fi
done < image_list_v2.5.4.conf# Define the target air-gapped registry FQDN and target path
OFFLINE_REGISTRY="<REDACTED_HOSTNAMES>/tkg"
echo "Ingesting discrete bundles into offline registry..."
for tar in /mnt/tkg-offline/bundles/*.tar; do
imgpkg copy --tar "$tar" --to-repo "${OFFLINE_REGISTRY}"
done
echo "Ingesting discrete images into offline registry..."
for tar in /mnt/tkg-offline/images/*.tar; do
imgpkg copy --tar "$tar" --to-repo "${OFFLINE_REGISTRY}"
doneimgpkg tag list command against your specific Harbor FQDN and project path: imgpkg tag list -i <HARBOR_FQDN>/<PROJECT_NAME>/tkg-compatibility