#!/bin/bash # Simple CDN Deployment Script set -e INVENTORY_FILE="inventories/production/hosts.yml" PLAYBOOK="playbooks/deploy-simple-cdn.yml" echo "🚀 Starting Simple CDN Deployment for Germany..." # Pre-deployment checks echo "🔍 Running pre-deployment checks..." if ! ansible all -i $INVENTORY_FILE -m ping; then echo "❌ Some hosts are not reachable. Please check your inventory." exit 1 fi echo "📋 Testing ansible configuration..." if ! ansible-playbook $PLAYBOOK -i $INVENTORY_FILE --check --diff; then echo "❌ Configuration test failed. Please fix errors first." exit 1 fi read -p "Continue with deployment? (y/N): " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then echo "Deployment cancelled." exit 0 fi # Deployment echo "🔧 Deploying CDN nodes..." ansible-playbook $PLAYBOOK -i $INVENTORY_FILE # Post-deployment verification echo "✅ Verifying deployment..." ansible cdn_nodes -i $INVENTORY_FILE -m uri -a "url=https://{{ inventory_hostname }}/health method=GET status_code=200" echo "🎉 CDN Deployment completed successfully!" echo "" echo "Next steps:" echo "1. Update your DNS to point to the CDN nodes" echo "2. Test your CDN: curl -I https://your-cdn-domain.de/health" echo "3. Monitor with: ansible-playbook -i $INVENTORY_FILE playbooks/manage-cdn.yml"