re-implement previous functionalities with cloud deployment and usb drive creation

This commit is contained in:
2025-08-12 23:55:46 +02:00
parent c3bd77ce7c
commit 09757eb061
11 changed files with 497 additions and 709 deletions

View File

@@ -1,52 +1,49 @@
#!/usr/bin/env bash
set -e
echo "🚀 Deploying Co-op Cloud workshop..."
echo "Deploying Co-op Cloud workshop..."
cd terraform
terraform apply \
-var="hcloud_token=$HCLOUD_TOKEN" \
-var="hetzner_dns_token=$HETZNER_DNS_TOKEN" \
-var="dns_zone_id=$DNS_ZONE_ID" \
-var="domain=codecrispi.es" \
-var="ssh_public_key=$(cat ~/.ssh/id_rsa.pub)" \
-auto-approve
echo "Waiting for servers to be ready..."
echo "Waiting for servers to be ready..."
# Wait for SSH + Docker to be ready on each server
terraform output -json participant_ips | jq -r 'keys[]' | while read participant; do
echo "Checking $participant.codecrispi.es..."
# Wait for SSH to be available
while ! ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no workshop@$participant.codecrispi.es "exit" 2>/dev/null; do
echo " SSH not ready yet, retrying in 10s..."
sleep 10
done
# Wait for Docker + abra to be ready
while ! ssh -o StrictHostKeyChecking=no workshop@$participant.codecrispi.es "docker info && which abra" &>/dev/null; do
echo " Docker/abra not ready yet, retrying in 5s..."
sleep 5
done
echo " $participant ready!"
echo " $participant ready!"
done
echo "🔧 Setting up each server..."
echo "Setting up each server..."
terraform output -json participant_ips | jq -r 'keys[]' | while read participant; do
echo "Configuring $participant..."
ssh -o StrictHostKeyChecking=no workshop@$participant.codecrispi.es << EOF
# Deploy Traefik
ssh -o StrictHostKeyCheckking=no workshop@$participant.codecrispi.es << EOF
abra app deploy traefik.$participant.codecrispi.es
# Wait for Traefik to be ready
until curl -f https://traefik.$participant.codecrispi.es/ping 2>/dev/null; do
echo "Waiting for Traefik..."
sleep 5
done
echo "$participant fully configured!"
echo "$participant fully configured!"
EOF
done
echo "🎉 Workshop ready! Participants can access their servers."
echo "Workshop ready! Participants can access their servers."