A Terraform version manager that lets you install, switch, and manage multiple Terraform versions.
tfenv is a command-line tool that manages multiple Terraform versions on a single machine. It solves the problem of version conflicts when working on different Terraform projects by allowing easy installation, switching, and uninstallation of specific Terraform releases. It automates version selection based on project configuration or environment variables.
DevOps engineers, infrastructure developers, and SREs who use Terraform across multiple projects with different version requirements. It's particularly useful for teams needing consistent version management in CI/CD pipelines or local development.
Developers choose tfenv for its simplicity, reliability, and alignment with HashiCorp's release verification. Unlike manual version management, it provides automated resolution, security checks, and seamless integration with existing Terraform workflows.
Terraform version manager
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Detects and switches Terraform versions using .terraform-version files or environment variables, reducing manual errors in multi-project setups.
Optionally verifies downloads with SHA256 checksums and PGP signatures from HashiCorp, ensuring binary integrity against tampering.
Supports installing specific versions, latest releases, or regex-matched versions, including min-required and latest-allowed from Terraform configs.
Integrates with Terraform's required_version settings to automatically determine and install appropriate versions, streamlining team workflows.
Limited to git-bash and presumed failing due to symlink issues, making it unreliable for native Windows environments as noted in the README.
Requires adding to PATH or creating symlinks for manual installation, which can be cumbersome and error-prone compared to package managers.
The min-required feature does not fully parse semantic version ranges, potentially leading to incorrect version selections as admitted in the documentation.
Full PGP verification depends on keybase or GnuPG tools, adding extra setup and availability concerns in minimal or restricted environments.