Gestión de Versiones de Terraform con tfenv

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:

  1. Instalará la versión si no está presente localmente.
  2. 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!

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *