Cloudflare
Esta seccion explica como conectar un dominio existente con Cloudflare DNS y core2-infra.
Alcance
La integracion actual:
- administra registros
AyAAAA; - obtiene hostnames desde
deployment/remote.env; - obtiene la IP desde
deployment/ansible/inventoryo--target-ip; - mantiene los registros en DNS-only;
- valida DNS, TLS y routing despues del deploy.
No compra dominios, no cambia nameservers en el registrador y no configura WAF, CDN, Tunnel ni Zero Trust.
Ejemplo usado
Zona: aitha.es
Host: sd2.aitha.es
IP publica: 51.170.37.215
Status host: sd2
Usa siempre el FQDN exacto del inventario: sd2.aitha.es, no sd2.
Recorrido recomendado
- Dar de alta la zona y delegar nameservers.
- Crear y cargar el API token.
- Planificar y sincronizar registros DNS.
- Integrar el dominio con env y deploy.
- Verificar DNS, TLS, HTTP y funcionalidad.
- Consultar troubleshooting y rollback si algo falla.
Documentos por objetivo
| Objetivo | Documento |
|---|---|
| Empezar desde cero | Alta de zona |
| Crear credenciales seguras | API token |
| Crear o actualizar DNS | Sincronizacion DNS |
| Desplegar Traefik y certificados | Integracion con deploy |
| Probar el sistema | Verificacion |
| Recuperar o diagnosticar | Troubleshooting |
| Consultar flags y comportamiento | Referencia CLI |
Reglas de seguridad
- Revisa y respalda DNS antes de cambiar nameservers.
- Preserva correo, verificaciones y servicios externos.
- Ejecuta preflight y dry-run antes de
--apply. - No uses
--replace-existingsin revisar el conflicto. - Mantiene SSH y MQTT en DNS-only.
- Usa el mismo
PUBLIC_BASE_DOMAINal generar env y desplegar. - No despliegues dominios distintos concurrentemente desde el mismo checkout.
Implementacion
- CLI:
./infra remote dns cloudflare - Script:
deployment/scripts/python/cloudflare_dns_sync.py - Endpoint registry:
deployment/remote.env - Inventario:
deployment/ansible/inventory - Tests:
deployment/scripts/tests/test_cloudflare_dns_sync.py