Skip to content

Instantly share code, notes, and snippets.

@chanwit
Created October 16, 2025 16:09
Show Gist options
  • Select an option

  • Save chanwit/75b9de5d35c43513f9a9862bf6c41ff3 to your computer and use it in GitHub Desktop.

Select an option

Save chanwit/75b9de5d35c43513f9a9862bf6c41ff3 to your computer and use it in GitHub Desktop.
# Container images for kind cluster
# External runtime images
# APPCHAT
ghcr.io/confighubai/cubbychat/backend:1.1.4
ghcr.io/confighubai/cubbychat/frontend:1.1.4
postgres:16
ollama/ollama:0.11.11
curlimages/curl:latest
# APPVOTE
dockersamples/examplevotingapp_vote:latest
dockersamples/examplevotingapp_result:latest
dockersamples/examplevotingapp_worker:latest
postgres:15-alpine
redis:alpine
# APPTIQUE (Google microservices demo)
us-central1-docker.pkg.dev/google-samples/microservices-demo/adservice:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/cartservice:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/checkoutservice:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/currencyservice:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/emailservice:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/frontend:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/loadgenerator:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/paymentservice:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/productcatalogservice:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/recommendationservice:v0.10.3
us-central1-docker.pkg.dev/google-samples/microservices-demo/shippingservice:v0.10.3
busybox:latest
# Infrastructure
registry.k8s.io/ingress-nginx/controller:v1.12.1
registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4
otel/opentelemetry-collector-contrib:0.135.0
#!/bin/bash
# Script to pull all container images listed in images.txt
# Usage: ./pull-images.sh
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
IMAGES_FILE="${SCRIPT_DIR}/images.txt"
if [ ! -f "$IMAGES_FILE" ]; then
echo "Error: images.txt not found at $IMAGES_FILE"
exit 1
fi
echo "=================================="
echo "Pulling container images..."
echo "=================================="
echo ""
# Counter for statistics
total=0
success=0
failed=0
# Read images.txt line by line
while IFS= read -r line; do
# Skip comments and empty lines
[[ "$line" =~ ^#.*$ ]] && continue
[[ -z "$line" ]] && continue
# Trim whitespace
image=$(echo "$line" | xargs)
[[ -z "$image" ]] && continue
total=$((total + 1))
echo "[$total] Pulling: $image"
if docker pull "$image"; then
success=$((success + 1))
echo "✓ Successfully pulled: $image"
else
failed=$((failed + 1))
echo "✗ Failed to pull: $image"
fi
echo ""
done < "$IMAGES_FILE"
echo "=================================="
echo "Summary:"
echo " Total images: $total"
echo " Successfully pulled: $success"
echo " Failed: $failed"
echo "=================================="
if [ $failed -gt 0 ]; then
exit 1
fi
#!/bin/bash
# Script to load all container images into a kind cluster
# Usage: ./load-images-to-kind.sh <cluster-name>
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
IMAGES_FILE="${SCRIPT_DIR}/images.txt"
# Check if cluster name is provided
if [ -z "$1" ]; then
echo "Error: Cluster name is required"
echo "Usage: $0 <cluster-name>"
echo ""
echo "Example: $0 my-cluster"
echo ""
echo "Available kind clusters:"
kind get clusters 2>/dev/null || echo " No kind clusters found"
exit 1
fi
CLUSTER_NAME="$1"
# Check if images.txt exists
if [ ! -f "$IMAGES_FILE" ]; then
echo "Error: images.txt not found at $IMAGES_FILE"
exit 1
fi
# Verify kind cluster exists
if ! kind get clusters 2>/dev/null | grep -q "^${CLUSTER_NAME}$"; then
echo "Error: kind cluster '$CLUSTER_NAME' does not exist"
echo ""
echo "Available kind clusters:"
kind get clusters 2>/dev/null || echo " No kind clusters found"
exit 1
fi
echo "=================================="
echo "Loading images to kind cluster: $CLUSTER_NAME"
echo "=================================="
echo ""
# Counter for statistics
total=0
success=0
failed=0
# Read images.txt line by line
while IFS= read -r line; do
# Skip comments and empty lines
[[ "$line" =~ ^#.*$ ]] && continue
[[ -z "$line" ]] && continue
# Trim whitespace
image=$(echo "$line" | xargs)
[[ -z "$image" ]] && continue
total=$((total + 1))
echo "[$total] Loading: $image"
if kind load docker-image "$image" --name "$CLUSTER_NAME"; then
success=$((success + 1))
echo "✓ Successfully loaded: $image"
else
failed=$((failed + 1))
echo "✗ Failed to load: $image"
echo " (Image may need to be pulled first - run ./pull-images.sh)"
fi
echo ""
done < "$IMAGES_FILE"
echo "=================================="
echo "Summary:"
echo " Cluster: $CLUSTER_NAME"
echo " Total images: $total"
echo " Successfully loaded: $success"
echo " Failed: $failed"
echo "=================================="
if [ $failed -gt 0 ]; then
echo ""
echo "Note: Failed images may need to be pulled first."
echo "Run: ./pull-images.sh"
exit 1
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment