Implements Action #1 from NEXT_ACTIONS_ALEXA.md: Complete Cloudflare DNS
migration tooling and documentation for BlackRoad domains.
New Features:
- Automated DNS sync script (scripts/cloudflare/sync_dns.py)
* Syncs DNS records from ops/domains.yaml to Cloudflare API
* Supports dry-run mode for safe previewing
* Handles CNAME, A, MX, and TXT records
* Colored output for easy scanning
- DNS validation script (scripts/cloudflare/validate_dns.py)
* Verifies DNS resolution and propagation
* Checks SSL certificate validity
* Tests HTTP/HTTPS accessibility and redirects
* Supports checking multiple domains
- GitHub Actions workflow (.github/workflows/sync-cloudflare-dns.yml)
* Automatically syncs DNS on ops/domains.yaml changes
* Includes dry-run validation step
* Manual trigger support via workflow_dispatch
Documentation:
- Comprehensive migration guide (docs/CLOUDFLARE_MIGRATION_GUIDE.md)
* Step-by-step instructions for migrating from GoDaddy to Cloudflare
* Covers all 10 BlackRoad domains
* Includes troubleshooting and rollback procedures
* Estimated 2-4 hours total migration time
- Scripts README (scripts/cloudflare/README.md)
* Installation and usage instructions
* API token setup guide
* Integration examples for CI/CD
Configuration:
- Updated backend/.env.example with Cloudflare variables:
* CLOUDFLARE_API_TOKEN
* CLOUDFLARE_ACCOUNT_ID
* CLOUDFLARE_ZONE_ID
* CLOUDFLARE_EMAIL
- Python dependencies (scripts/cloudflare/requirements.txt)
* requests, PyYAML, dnspython, colorama
Benefits of Cloudflare Migration:
- Free SSL certificates with automatic renewal
- Global CDN for faster page loads
- DDoS protection and Web Application Firewall
- Better DNS performance via anycast network
- Advanced features (Workers, Zero Trust, edge functions)
- Superior analytics and security insights
Next Steps:
1. Set up Cloudflare account and get API token
2. Add blackroad.systems domain to Cloudflare
3. Update nameservers at GoDaddy
4. Run sync script to configure DNS records
5. Verify migration with validation script
6. Repeat for remaining 9 domains
Related:
- Implements infra/cloudflare/CLOUDFLARE_DNS_BLUEPRINT.md
- Addresses ops/DOMAIN_FIX_GUIDE.md recommendations
- Part of Phase 1 Q1 infrastructure foundation
Files Added:
- scripts/cloudflare/sync_dns.py (352 lines)
- scripts/cloudflare/validate_dns.py (387 lines)
- scripts/cloudflare/README.md
- scripts/cloudflare/requirements.txt
- docs/CLOUDFLARE_MIGRATION_GUIDE.md (867 lines)
- .github/workflows/sync-cloudflare-dns.yml
Files Modified:
- backend/.env.example (added Cloudflare env vars)