46 lines
1.2 KiB
Bash
Executable File
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/"
|