Iniciar un nuevo proyecto de Terraform es sencillo, pero sin un diseño claro puede volverse desordenado rápidamente. En este video, te guiamos a través de una estructura de proyecto de Terraform limpia y escalable, ayudándote a evitar refactorizaciones dolorosas más adelante y a mantener tu infraestructura como código fácil de navegar, escalar y colaborar.
Recursos adicionales:
En este video, aprenderás las mejores prácticas de estructura de archivos de Terraform y de estructura de carpetas o directorios utilizando convenciones comunes como main.tf, variables.tf, outputs.tf y providers.tf. También aprenderás cómo funcionan terraform.tfvars y auto.tfvars para valores específicos de entorno, cómo organizar módulos de Terraform desde código local, Git o el registro, y cómo separar dev, staging y prod de manera segura.
Un buen diseño de proyecto de Terraform no se trata de reglas estrictas. Se trata de hacer que IaC sea predecible. Ya sea que elijas un enfoque de monorepo o polyrepo, el objetivo es el mismo. Límites claros entre entornos, módulos reutilizables y una estructura de repositorio que tu equipo pueda entender al instante. También verás qué archivos no debes comprometer en Git, incluyendo el estado de Terraform y copias de seguridad.
Capítulos:
00:00-00:31 Introducción
00:31-00:53 ¿Qué son los archivos de configuración de Terraform?
00:53-02:04 Archivos centrales de Terraform (main.tf, variables.tf, outputs.tf)
02:04-02:17 providers.tf
02:17-02:51 terraform.tfvars y auto.tfvars (valores de entorno)
02:51-03:06 Por qué importan las convenciones de nomenclatura
03:06-03:37 Módulos de Terraform
03:37-03:54 Registro privado de módulos de Spacelift
03:54-04:33 Mejores prácticas de diseño de carpetas (módulos, entornos)
04:33-04:55 Estructura de repositorio monorepo vs polyrepo
04:55-05:16 Separando entornos
05:16-05:28 Qué no comprometer (archivos de estado, copias de seguridad)
05:28-05:52 Resumen
Más información sobre Spacelift:
#Terraform #DevOps #InfrastructureAsCode #Spacelift