re-implement previous functionalities with cloud deployment and usb drive creation
This commit is contained in:
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user