Files
wireguard-lab-overlay/deploy.sh
2026-02-21 16:54:18 +01:00

46 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
echo "=== WireGuard Lab Overlay Network Deployment ==="
# Step 1: Terraform
echo ""
echo "[1/5] Running Terraform..."
cd terraform
terraform init
terraform plan -out=tfplan
terraform apply tfplan
terraform output -json > outputs.json
cd ..
# Step 2: Ansible inventory generation
echo ""
echo "[2/5] Generating Ansible inventory..."
cd ansible
terraform -chdir=../terraform output ansible_inventory > inventory/hosts.yml
# Step 3: Deploy to gateways
echo ""
echo "[3/5] Deploying to gateways..."
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
# Step 4: Generate road warrior configs
echo ""
echo "[4/5] Generating road warrior configurations..."
ansible-playbook -i inventory/hosts.yml playbooks/generate-road-warrior.yml
# Step 5: Deploy monitoring hub
echo ""
echo "[5/5] Deploying monitoring hub..."
cd ../monitoring
docker-compose up -d
echo ""
echo "=== Deployment Complete ==="
echo "Grafana: http://$(hostname -I | awk '{print $1}'):3000 (admin/admin)"
echo "Prometheus: http://$(hostname -I | awk '{print $1}'):9090"
echo "Road warrior configs: $SCRIPT_DIR/road-warrior/generated/"