Referencia CLI
Comando
./infra remote dns cloudflare <host|ordinal> --zone <dominio> [opciones]
El comando invoca deployment/scripts/python/cloudflare_dns_sync.py.
Defaults
- modo: dry-run;
- estrategia:
endpoints; - proxy: desactivado;
- TTL: automatico (
1); - timeout de propagacion: 120 segundos;
- target:
ansible_hostdel inventario.
Flags
| Flag | Funcion |
|---|---|
--zone <dominio> | Zona exacta; requerida para preflight/apply |
--zone-id <id> | ID opcional, validado contra nombre y estado |
--target-ip <ip> | Sobrescribe ansible_host |
--strategy endpoints|wildcard|both | Selecciona nombres |
--include-status | Incluye REMOTE_STATUS_PAGE_DOMAIN |
--ttl <n> | 1 para auto o 60..86400 |
--replace-existing | Limpieza limitada de conflictos revisados |
--preflight | Valida token, zona, DNS read e IP |
--apply | Escribe cambios |
--wait | Espera propagacion; requiere --apply |
--wait-seconds <n> | Timeout global |
--allow-non-public-ip | Permite IP no publica solamente para tests |
--proxied se rechaza porque un proxy global puede romper SSH y MQTT.
Variables
| Variable | Uso |
|---|---|
CLOUDFLARE_API_TOKEN | Token Bearer |
CLOUDFLARE_ZONE | Alternativa a --zone |
CLOUDFLARE_ZONE_ID | Alternativa a --zone-id |
CLOUDFLARE_DNS_TARGET_IP | Alternativa a --target-ip |
CLOUDFLARE_DNS_STRATEGY | Estrategia predeterminada |
CLOUDFLARE_DNS_TTL | TTL predeterminado |
CLOUDFLARE_DNS_WAIT_SECONDS | Timeout de --wait |
REMOTE_STATUS_PAGE_HOST | Label de la pagina de estado |
PUBLIC_BASE_DOMAIN | Dominio base usado por endpoints y deploy |
Comportamiento de registros
- crea
Apara IPv4 yAAAApara IPv6; - actualiza un registro existente del mismo tipo;
- conserva
MX,TXT,CAAy tipos coexistentes; - detiene la operacion ante un
CNAMEincompatible; - detiene la operacion ante multiples registros del mismo tipo;
- omite y reporta hostnames fuera de la zona;
- valida que una IP sea publica;
- valida que host y zona coincidan;
- valida un
--zone-idcontra el nombre y estado de la zona.
Ejemplos
# Preflight
./infra remote dns cloudflare sd2.aitha.es --zone aitha.es --preflight
# Plan
REMOTE_STATUS_PAGE_HOST=sd2 ./infra remote dns cloudflare sd2.aitha.es \
--zone aitha.es --strategy endpoints --include-status
# Apply y wait
REMOTE_STATUS_PAGE_HOST=sd2 ./infra remote dns cloudflare sd2.aitha.es \
--zone aitha.es --strategy endpoints --include-status --apply --wait
# Verificacion del registry
PUBLIC_BASE_DOMAIN=aitha.es REMOTE_STATUS_PAGE_HOST=sd2 \
./infra remote domains sd2.aitha.es