# README
tfvm
A Terraform Version Manager written in Go
Table of Contents
Features
- Easily manage multiple terraform versions to use across projects.
- Run
tfvm use
with no version argument to switch to the version specified in the current directory's.tfversion
file.
Changelog
See the CHANGELOG
How it Works
tfvm installs and manages different versions of terraform in the CLI.
Getting Started
Installation
Windows users can install via Scoop:
scoop bucket add tfvm https://github.com/ethanhassett/tfvm
scoop install tfvm
Linux users can install via the install script:
wget -q -O - https://raw.githubusercontent.com/ethanhassett/tfvm/main/install.sh | bash
Running the install script after installation will keep tfvm updated.
Using go get
:
go get -u github.com/ethanhassett/[email protected]
This will require manually adding <USER_HOME>/.tfvm
to PATH.
Run tfvm --version
to verify installation.
CLI Usage
$ tfvm --help
Usage: tfvm [--version] [--help] <command> [<args>]
Available commands are:
install Install a version of Terraform
list List all installed versions of Terraform
remove Remove a specific version of Terraform
use Select a version of Terraform to use
Contributing
Contributions to this project are welcome and much appreciated!
Development
- Use Golang version
>= 1.16
- Fork this repo
- Create a
feat-
branch - Commit and push your changes
- Open a Pull Request, rebasing against
main
if needed.
Bugs, feaure requests, and comments are more than welcome in the issues.
TODO
- Add ability to use .tfversion file
- Add installation methods
- Add pagination to
tfvm install list
# Variables
Commands is the mapping of all the available tfvm commands.