Descripción general
Este caso de uso gestiona DNS autoritativo en F5 Distributed Cloud con Terraform. Un plan pequeño y reutilizable crea una zona DNS primaria y sus registros para un dominio delegado, mantiene su estado en Azure Blob Storage, y ejecuta plan-on-pull-request / apply-on-merge mediante GitHub Actions.
Qué gestiona
Sección titulada «Qué gestiona»- Un
xcsh_dns_zone— una zona primaria autoritativa en el namespacesystemde F5 XC, con registros A. El nombre de la zona es el dominio delegado (una variable), por lo que redirigirla es un cambio de configuración, no un cambio de código. - Estado remoto de Terraform en Azure, de modo que las ejecuciones sean compartibles entre la máquina de un operador y CI.
Arquitectura
Sección titulada «Arquitectura»| Capa | Elección | Por qué |
|---|---|---|
| Proveedor | f5-sales-demo/xcsh (registro de Terraform) | Generado a partir del OpenAPI de F5 XC; gestiona xcsh_dns_zone y los recursos del balanceador de carga DNS. Se autentica con un token de API (Authorization: APIToken <token>). |
| Backend de estado | azurerm (Azure Blob Storage), autenticación por clave de acceso | Estado duradero y compartido. Se utiliza autenticación por clave de acceso porque la suscripción solo otorga el rol Contributor, que no puede asignar el rol Storage Blob Data Contributor que requiere la autenticación sin clave (OIDC / Azure AD). |
| Automatización | GitHub Actions | Plan en cada pull request, apply al fusionar en main. Las coordenadas del backend y las entradas provienen de las variables del repositorio; las credenciales de los secrets. |
Por dónde empezar
Sección titulada «Por dónde empezar»El arco de Demo recorre el ciclo de vida completo de principio a fin: Build la zona con Terraform, Validate que resuelve correctamente, Failover con un balanceador de carga DNS, y Teardown. Comience con Fase 1 — Build, que es una guía completa para desplegar la zona, incluyendo todos los archivos de Terraform, el flujo de trabajo de CI y las variables y secrets necesarios.