41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# Script to import Crossplane provider image to containerd
|
||
|
|
# Must be run with sudo on the Kubernetes node
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
IMAGE_TAR="${1:-/tmp/crossplane-provider-proxmox-latest-fresh.tar}"
|
||
|
|
|
||
|
|
if [ ! -f "$IMAGE_TAR" ]; then
|
||
|
|
echo "❌ Error: Image tar file not found: $IMAGE_TAR"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "=========================================="
|
||
|
|
echo "Importing Provider Image to Containerd"
|
||
|
|
echo "=========================================="
|
||
|
|
echo ""
|
||
|
|
echo "Image: $IMAGE_TAR"
|
||
|
|
echo "Size: $(ls -lh "$IMAGE_TAR" | awk '{print $5}')"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo "Importing to containerd (k8s.io namespace)..."
|
||
|
|
if ctr -n k8s.io images import "$IMAGE_TAR"; then
|
||
|
|
echo "✅ Image imported successfully"
|
||
|
|
else
|
||
|
|
echo "❌ Failed to import image"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "Verifying import..."
|
||
|
|
ctr -n k8s.io images ls | grep crossplane-provider-proxmox || echo "⚠️ Image not found with expected name"
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=========================================="
|
||
|
|
echo "Import Complete!"
|
||
|
|
echo "=========================================="
|
||
|
|
echo ""
|
||
|
|
echo "Next: Restart the provider pod:"
|
||
|
|
echo " kubectl delete pod -n crossplane-system -l app=crossplane-provider-proxmox"
|