Terraform Cloud/Enterprise
NOTE
Terraform Enterprise fue renombrado recientemente a Terraform Cloud y Private Terraform Enterprise fue renombrado a Terraform Enterprise.
Atlantis se integra sin problemas con Terraform Cloud y Terraform Enterprise, ya sea que estés usando:
- Free Remote State Management
- Terraform Cloud Paid Tiers
- Una instalación privada de Terraform Enterprise
Lee la documentación a continuación 👇 según tu caso de uso.
Usar Atlantis con Free Remote State Storage
Para usar Atlantis con Free Remote State Storage, necesitas:
- Migrar tu state a Terraform Cloud. Consulta Migrating State from Local Terraform
- Actualizar cualquier proyecto que esté haciendo referencia al state que migraste para usar la nueva ubicación
- Generar un token de Terraform Cloud/Enterprise
- Pasar el token a Atlantis
¡Eso es todo! Atlantis se ejecutará como de costumbre y tu state se almacenará en Terraform Cloud.
Usar Atlantis con Terraform Cloud Remote Operations o Terraform Enterprise
Atlantis se integra con la versión completa de Terraform Cloud y Terraform Enterprise a través del remote backend.
Atlantis ejecutará terraform comandos como de costumbre, sin embargo esos comandos realmente se ejecutarán remotamente en Terraform Cloud o Terraform Enterprise.
¿Por qué?
Usar Atlantis con Terraform Cloud o Terraform Enterprise te da acceso a funcionalidades como:
- Salida transmitida en tiempo real
- Capacidad de cancelar comandos en progreso
- Variables secretas
- Sentinel
Sin tener que cambiar tu workflow de pull request.
Primeros pasos
Para usar Atlantis con Terraform Cloud Remote Operations o Terraform Enterprise, necesitas:
- Migrar tu state a Terraform Cloud/Enterprise. Consulta Migrating State from Local Terraform
- Actualizar cualquier proyecto que esté haciendo referencia al state que migraste para usar la nueva ubicación
- Generar un token de Terraform Cloud/Enterprise
- Pasar el token a Atlantis
Generar un token de Terraform Cloud/Enterprise
Atlantis necesita un token de Terraform Cloud/Enterprise que usará para acceder a la API. Se recomienda usar un Team Token, sin embargo también puedes usar un User Token.
Team Token
Para generar un team token, haz clic en Settings en la barra superior, luego en Teams en la barra lateral. Elige un equipo existente o crea uno nuevo. Habilita el permiso Manage Workspaces, luego desplázate hacia abajo hasta Team API Token.
User Token
Para generar un user token, haz clic en tu avatar, luego en User Settings, luego en Tokens en la barra lateral. Asegúrate de que el permiso Manage Workspaces esté habilitado para el equipo de este usuario.
Pasar el token a Atlantis
El token puede pasarse a Atlantis mediante la variable de entorno ATLANTIS_TFE_TOKEN.
También puedes usar la flag --tfe-token, sin embargo tu token sería entonces fácilmente visible en la lista de procesos.
Si estás alojando tu propia instalación de Terraform Enterprise, establece la flag --tfe-hostname con su hostname.
¡Eso es todo! Atlantis ahora debería poder realizar operaciones de Terraform usando el remote state backend de Terraform Cloud/Enterprise.
WARNING
Si estás usando el modo de ejecución local para tus workspaces, recuerda establecer --tfe-local-execution-mode. De lo contrario no verás los logs en Atlantis.
WARNING
La integración de Terraform Cloud/Enterprise solo funciona con los pasos integrados plan e apply. No funciona con pasos run personalizados que reemplazan plan o apply.
NOTE
Internamente, Atlantis está generando un archivo ~/.terraformrc. Si ya tenías un archivo ~/.terraformrc donde Atlantis se está ejecutando, entonces necesitarás agregar manualmente el bloque de credenciales a ese archivo:
...
credentials "app.terraform.io" {
token = "xxxx"
}en lugar de usar la variable de entorno ATLANTIS_TFE_TOKEN, ya que Atlantis no sobrescribirá tu archivo .terraformrc.