Merge pull request 'fix: retry kubeadm inventory generation until VM IPs appear' (#69) from stage into master
Some checks failed
Terraform Apply / Terraform Apply (push) Failing after 12m43s

Reviewed-on: #69
This commit was merged in pull request #69.
This commit is contained in:
2026-03-01 19:04:05 +00:00
3 changed files with 48 additions and 6 deletions

View File

@@ -104,8 +104,22 @@ jobs:
env:
KUBEADM_SSH_USER: ${{ secrets.KUBEADM_SSH_USER }}
run: |
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env
set -euo pipefail
for attempt in 1 2 3 4 5 6; do
echo "Inventory render attempt $attempt/6"
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
if printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env; then
exit 0
fi
if [ "$attempt" -lt 6 ]; then
echo "VM IPv4s not available yet; waiting 30s before retry"
sleep 30
fi
done
echo "Failed to render kubeadm inventory after retries"
exit 1
- name: Validate nix installation
run: |

View File

@@ -104,8 +104,22 @@ jobs:
env:
KUBEADM_SSH_USER: ${{ secrets.KUBEADM_SSH_USER }}
run: |
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env
set -euo pipefail
for attempt in 1 2 3 4 5 6; do
echo "Inventory render attempt $attempt/6"
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
if printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env; then
exit 0
fi
if [ "$attempt" -lt 6 ]; then
echo "VM IPv4s not available yet; waiting 30s before retry"
sleep 30
fi
done
echo "Failed to render kubeadm inventory after retries"
exit 1
- name: Run cluster reset
run: |

View File

@@ -152,8 +152,22 @@ jobs:
env:
KUBEADM_SSH_USER: ${{ secrets.KUBEADM_SSH_USER }}
run: |
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env
set -euo pipefail
for attempt in 1 2 3 4 5 6; do
echo "Inventory render attempt $attempt/6"
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
if printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env; then
exit 0
fi
if [ "$attempt" -lt 6 ]; then
echo "VM IPv4s not available yet; waiting 30s before retry"
sleep 30
fi
done
echo "Failed to render kubeadm inventory after retries"
exit 1
- name: Ensure nix and nixos-rebuild
env: