brand-master/push-base-images.sh
dvirlabs a02ba81b84
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Add offline Python wheels and air-gapped deployment solution
2026-05-05 07:12:21 +03:00

61 lines
1.4 KiB
Bash

#!/bin/bash
# Script to push base images to Harbor for offline/isolated cluster builds
set -e
HARBOR_REGISTRY="harbor.dvirlabs.com"
HARBOR_PROJECT="dockerhub"
echo "🐳 Pushing base images to Harbor..."
echo "Registry: $HARBOR_REGISTRY"
echo "Project: $HARBOR_PROJECT"
echo ""
# Login to Harbor (you may need to provide credentials)
echo "Please login to Harbor:"
docker login $HARBOR_REGISTRY
# Base images needed for the project
BASE_IMAGES=(
"python:3.11-slim"
"node:18-alpine"
"nginx:alpine"
"postgres:16-alpine"
"alpine:3.19"
"busybox:1.35"
"busybox:latest"
)
echo ""
echo "📦 Processing ${#BASE_IMAGES[@]} base images..."
echo ""
for IMAGE in "${BASE_IMAGES[@]}"; do
echo "➡️ Processing: $IMAGE"
# Pull from Docker Hub
echo " Pulling from Docker Hub..."
docker pull $IMAGE
# Tag for Harbor
HARBOR_IMAGE="$HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE"
echo " Tagging as: $HARBOR_IMAGE"
docker tag $IMAGE $HARBOR_IMAGE
# Push to Harbor
echo " Pushing to Harbor..."
docker push $HARBOR_IMAGE
echo " ✅ Done: $IMAGE"
echo ""
done
echo "🎉 All base images pushed successfully!"
echo ""
echo "Your Harbor now contains:"
for IMAGE in "${BASE_IMAGES[@]}"; do
echo " - $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE"
done
echo ""
echo "You can now build your application in the cluster without Docker Hub access!"