45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
#!/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"
|