Some checks failed
API CI / API Lint (push) Successful in 47s
API CI / API Type Check (push) Failing after 47s
API CI / API Test (push) Successful in 1m0s
API CI / API Build (push) Failing after 50s
API CI / Build Docker Image (push) Has been skipped
Build Crossplane Provider / build (push) Failing after 5m51s
CD Pipeline / Deploy to Staging (push) Failing after 29s
CI Pipeline / Lint and Type Check (push) Failing after 36s
CI Pipeline / Build (push) Has been skipped
CI Pipeline / Test Backend (push) Failing after 1m33s
CI Pipeline / Test Frontend (push) Failing after 30s
CI Pipeline / Security Scan (push) Failing after 1m16s
Crossplane Provider CI / Go Test (push) Failing after 3m23s
Crossplane Provider CI / Go Lint (push) Failing after 7m27s
Crossplane Provider CI / Go Build (push) Failing after 3m27s
Deploy to Staging / Deploy to Staging (push) Failing after 30s
Portal CI / Portal Lint (push) Failing after 21s
Portal CI / Portal Type Check (push) Failing after 21s
Portal CI / Portal Test (push) Failing after 21s
Portal CI / Portal Build (push) Failing after 22s
Test Suite / frontend-tests (push) Failing after 30s
Test Suite / api-tests (push) Failing after 49s
Test Suite / blockchain-tests (push) Failing after 30s
Type Check / type-check (map[directory:. name:root]) (push) Failing after 23s
Type Check / type-check (map[directory:api name:api]) (push) Failing after 21s
Type Check / type-check (map[directory:portal name:portal]) (push) Failing after 19s
Validate Configuration Files / validate (push) Failing after 1m52s
CD Pipeline / Deploy to Production (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
52 lines
1.8 KiB
Bash
Executable File
52 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "=========================================="
|
|
echo "REMOVE OLD IMAGE BY ID"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
OLD_IMAGE_ID="sha256:5d83df9f8d127aa8988ace01254f4adbb6336f0ad59be8193349b3eacd972cfc"
|
|
IMAGE_NAME="docker.io/library/crossplane-provider-proxmox"
|
|
|
|
echo "Step 1: Listing all crossplane images..."
|
|
sudo ctr -n k8s.io images ls | grep crossplane-provider-proxmox || echo " (No images found)"
|
|
echo ""
|
|
|
|
echo "Step 2: Removing old image by specific ID..."
|
|
sudo ctr -n k8s.io images rm "${IMAGE_NAME}@${OLD_IMAGE_ID}" 2>&1 || echo " (Image not found by ID)"
|
|
echo ""
|
|
|
|
echo "Step 3: Removing all images with the name (to be safe)..."
|
|
ALL_IMAGES=$(sudo ctr -n k8s.io images ls -q | grep "${IMAGE_NAME}" || true)
|
|
if [ -n "$ALL_IMAGES" ]; then
|
|
echo "$ALL_IMAGES" | while read -r img; do
|
|
echo " Removing: $img"
|
|
sudo ctr -n k8s.io images rm "$img" 2>/dev/null || true
|
|
done
|
|
fi
|
|
echo ""
|
|
|
|
echo "Step 4: Re-importing fresh image..."
|
|
if [ ! -f /tmp/crossplane-fresh-nuclear.tar ]; then
|
|
echo " ❌ ERROR: Image tar not found!"
|
|
exit 1
|
|
fi
|
|
sudo ctr -n k8s.io images import /tmp/crossplane-fresh-nuclear.tar
|
|
echo " ✅ Image imported"
|
|
echo ""
|
|
|
|
echo "Step 5: Verifying import..."
|
|
sudo ctr -n k8s.io images ls | grep crossplane-provider-proxmox
|
|
echo ""
|
|
|
|
echo "=========================================="
|
|
echo "OLD IMAGE REMOVAL COMPLETE"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "Now restart the pod:"
|
|
echo " kubectl delete pod -n crossplane-system -l app=crossplane-provider-proxmox"
|
|
echo " kubectl wait --for=condition=ready pod -n crossplane-system -l app=crossplane-provider-proxmox --timeout=120s"
|
|
echo " kubectl logs -n crossplane-system -l app=crossplane-provider-proxmox | grep '\[FIXED CODE\]'"
|
|
|