Skip to main content

Cloudflare

Esta seccion explica como conectar un dominio existente con Cloudflare DNS y core2-infra.

Alcance

La integracion actual:

  • administra registros A y AAAA;
  • obtiene hostnames desde deployment/remote.env;
  • obtiene la IP desde deployment/ansible/inventory o --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

  1. Dar de alta la zona y delegar nameservers.
  2. Crear y cargar el API token.
  3. Planificar y sincronizar registros DNS.
  4. Integrar el dominio con env y deploy.
  5. Verificar DNS, TLS, HTTP y funcionalidad.
  6. Consultar troubleshooting y rollback si algo falla.

Documentos por objetivo

ObjetivoDocumento
Empezar desde ceroAlta de zona
Crear credenciales segurasAPI token
Crear o actualizar DNSSincronizacion DNS
Desplegar Traefik y certificadosIntegracion con deploy
Probar el sistemaVerificacion
Recuperar o diagnosticarTroubleshooting
Consultar flags y comportamientoReferencia 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-existing sin revisar el conflicto.
  • Mantiene SSH y MQTT en DNS-only.
  • Usa el mismo PUBLIC_BASE_DOMAIN al 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