Skip to main content

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_host del inventario.

Flags

FlagFuncion
--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|bothSelecciona nombres
--include-statusIncluye REMOTE_STATUS_PAGE_DOMAIN
--ttl <n>1 para auto o 60..86400
--replace-existingLimpieza limitada de conflictos revisados
--preflightValida token, zona, DNS read e IP
--applyEscribe cambios
--waitEspera propagacion; requiere --apply
--wait-seconds <n>Timeout global
--allow-non-public-ipPermite IP no publica solamente para tests

--proxied se rechaza porque un proxy global puede romper SSH y MQTT.

Variables

VariableUso
CLOUDFLARE_API_TOKENToken Bearer
CLOUDFLARE_ZONEAlternativa a --zone
CLOUDFLARE_ZONE_IDAlternativa a --zone-id
CLOUDFLARE_DNS_TARGET_IPAlternativa a --target-ip
CLOUDFLARE_DNS_STRATEGYEstrategia predeterminada
CLOUDFLARE_DNS_TTLTTL predeterminado
CLOUDFLARE_DNS_WAIT_SECONDSTimeout de --wait
REMOTE_STATUS_PAGE_HOSTLabel de la pagina de estado
PUBLIC_BASE_DOMAINDominio base usado por endpoints y deploy

Comportamiento de registros

  • crea A para IPv4 y AAAA para IPv6;
  • actualiza un registro existente del mismo tipo;
  • conserva MX, TXT, CAA y tipos coexistentes;
  • detiene la operacion ante un CNAME incompatible;
  • 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-id contra 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