From 17f1815e7f013245a40b9a11f89f4a4a9bd15a5b Mon Sep 17 00:00:00 2001 From: MichaelFisher1997 Date: Sat, 25 Apr 2026 19:28:29 +0000 Subject: [PATCH] fix: use CRI pulls for Flux image warmup --- .gitea/workflows/deploy.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 35901cd..1123b8c 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -411,20 +411,22 @@ jobs: --from-file=known_hosts=/tmp/flux_known_hosts \ --dry-run=client -o yaml | kubectl apply -f - PRIMARY_CP_IP=$(python3 -c 'import json; print(json.load(open("outputs/terraform_outputs.json"))["primary_control_plane_ip"]["value"])') + FLUX_IMAGE_PULL_ATTEMPTS=45 + FLUX_IMAGE_PULL_SLEEP=10 for image in \ ghcr.io/fluxcd/source-controller:v1.8.0 \ ghcr.io/fluxcd/kustomize-controller:v1.8.1 \ ghcr.io/fluxcd/helm-controller:v1.5.1 \ ghcr.io/fluxcd/notification-controller:v1.8.1; do pulled=false - for attempt in $(seq 1 12); do - echo "Pre-pulling ${image} on ${PRIMARY_CP_IP} (${attempt}/12)" + for attempt in $(seq 1 "${FLUX_IMAGE_PULL_ATTEMPTS}"); do + echo "Pre-pulling ${image} on ${PRIMARY_CP_IP} (${attempt}/${FLUX_IMAGE_PULL_ATTEMPTS})" if ssh -i "$HOME/.ssh/id_ed25519" -o StrictHostKeyChecking=no -o ConnectTimeout=10 "ubuntu@${PRIMARY_CP_IP}" \ - "sudo k3s ctr images pull '${image}'"; then + "sudo k3s crictl inspecti '${image}' >/dev/null 2>&1 || ((sudo k3s crictl pull --platform linux/amd64 '${image}' || sudo k3s crictl pull '${image}') && sudo k3s crictl inspecti '${image}' >/dev/null 2>&1)"; then pulled=true break fi - sleep 20 + sleep "${FLUX_IMAGE_PULL_SLEEP}" done if [ "${pulled}" != "true" ]; then echo "Failed to pre-pull required Flux image ${image} on ${PRIMARY_CP_IP}" >&2