Propósito
Este manual tiene como objetivo establecer el procedimiento estandarizado para la instalación y gestión eficiente de múltiples versiones del framework Terraform mediante la herramienta tfenv. La capacidad de alternar entre versiones es esencial en entornos multi-proyecto o que requieren compatibilidad con módulos específicos.
1. Introducción a tfenv
tfenv es un gestor de versiones de Terraform (Terraform Version Manager), similar a herramientas como nvm (para Node.js) o pyenv (para Python).
Funcionalidades Clave
-
Instalación Rápida: Instalar cualquier versión de Terraform con un solo comando.
-
Alternancia Dinámica: Cambiar la versión global de Terraform de forma instantánea.
-
Aislamiento por Proyecto: Definir una versión específica de Terraform por directorio de proyecto.
-
Compatibilidad: Asegurar la coherencia del entorno en flujos de CI/CD y entornos de equipo.
2. Instalación y Configuración de tfenv
2.1. Clonación del Repositorio
Clonar el repositorio de tfenv en el directorio home del usuario (~/.tfenv).
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
2.2. Configuración del PATH
Integrar el directorio binario de tfenv (~/.tfenv/bin) al PATH del sistema para hacer que los comandos sean accesibles.
echo 'export PATH=""$HOME/.tfenv/bin:$PATH""' >> ~/.bashrc
echo 'export PATH=""$HOME/.tfenv/bin:$PATH""' >> ~/.zshrc
Nota: Tras ejecutar el comando, es necesario recargar la configuración del shell para aplicar los cambios.
-
Para Bash:
source ~/.bashrc -
Para Zsh:
source ~/.zshrc
2.3. Verificación de la Instalación
Confirmar que tfenv se ha instalado correctamente ejecutando el comando de versión.
tfenv --version
3. Gestión de Versiones de Terraform
3.1. Instalación de Versiones
Utilizar el comando install para descargar y añadir versiones específicas al entorno local.
| Objetivo | Comando |
| Instalar una versión específica | tfenv install 1.7.5 |
| Instalar otra versión (ejemplo) | tfenv install 1.6.0 |
| Instalar la última versión estable | tfenv install latest |
3.2. Listado de Versiones
| Objetivo | Comando | Descripción |
| Verificar versiones instaladas | tfenv list |
Muestra las versiones de Terraform disponibles localmente. |
| Ver versiones disponibles | tfenv list-remote |
Muestra todas las versiones de Terraform disponibles en el registro de HashiCorp. |
3.3. Alternancia Global de Versiones
El comando use activa la versión deseada de Terraform a nivel global para el sistema.
tfenv use 1.7.5
Verificación: Confirmar la versión activa globalmente:
terraform version
4. Aislamiento por Proyecto (Recomendado)
La mejor práctica en entornos laborales es fijar la versión de Terraform dentro del proyecto, asegurando que todos los miembros del equipo y los procesos de CI/CD utilicen la misma release.
4.1. Definición de la Versión
Dentro del directorio raíz de su proyecto (donde se encuentran los archivos .tf), cree un archivo llamado .terraform-version que contenga únicamente el número de versión requerido.
# Ejemplo: Estandarizando la versión 1.7.5 para el proyecto
echo "1.7.5" > .terraform-version
4.2. Comportamiento Automatizado
Al ejecutar cualquier comando de Terraform o tfenv dentro de este directorio, tfenv detectará automáticamente el archivo .terraform-version y:
- Instalará la versión si no está presente localmente.
- Cambiará a esa versión, anulando temporalmente la versión global del sistema.
Este archivo debe ser comiteado y subido al repositorio para garantizar la uniformidad en el equipo.
5. Mantenimiento
5.1. Actualización
Para instalar y cambiar a la última versión disponible de Terraform:
tfenv install latest
tfenv use latest
5.2. Desinstalación
Para eliminar una versión de Terraform que ya no es necesaria:
tfenv uninstall 1.6.0
:wq!