Skip to content

marcdomain/tfv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Use tfv to manage multiple versions of terraform with ease

     _        ________        __
   _| |__   / _____|\ \      / /
  |_  ___\ | |___    \ \    / /
    | |    |  ___|    \ \  / /
    | |___ | |         \ \/ /
    \______\_|          \__/

    Happy terraforming 😍🥂!

Installation

NOTE: tfv should be installed globally so that it can be run from anywhere on your computer.

npm install -g tfv

Run with alias

npm i -g tfv

Help

tfv --help

Run with alias

tfv -h

OUTPUT:

tfv <command>

Commands:

  tfv install <version> [option]  Install a terraform version [aliases: i]

  tfv list [option]               List installed or available terraform versions [aliases: ls]

  tfv remove <version>            Remove terraform versions from tfv store [aliases: rm]

  tfv auto-switch                 Auto-detect and switch to your project terraform version [aliases: as]

  tfv use <version>               Switch to a specified terraform version

  tfv apply                       Run terraform apply with optional file-based targets.
  Accepts all terraform flags after --
  Example:
  tfv apply --file main.tf --file network.tf -- -auto-approve -target=<TARGET> -var="env=prod"

  tfv destroy                     Run terraform destroy with optional file-based targets.
  Accepts all terraform flags after --
  Example:
  tfv destroy --file main.tf --file network.tf -- -auto-approve -target=<TARGET> -var="env=prod"

  tfv plan                        Run terraform plan with optional file-based targets.
  Accepts all terraform flags after --
  Example:
  tfv plan --file main.tf --file network.tf -- -auto-approve -target=<TARGET> -var="env=prod"

Options:
  -h, --help     Show help                                             [boolean]
  -v, --version  Show version number                                   [boolean]

Usage

tfv.mp4

Table of Contents

Modules

  • INSTALL

Version Description
x.x.x Installs terraform version x.x.x
x^ Installs latest version of release x
x.x.^ Installs latest version of release x.x
latest Installs latest version of terraform
tfv install <version>

Run with option

tfv install <version> --arch <system-architecture>

EXAMPLE:

tfv install 1.5.7 -arch amd64

NOTE: The default system-architecture is the architecture of your computer (arm64, amd64, x64, etc...)

  • USE

Version Description
x.x.x use terraform version x.x.x
latest use latest version of terraform
tfv use <version>

NOTE: You would get a password prompt. Accept it. This is a one-time request to set the terraform executable in your system path.

  • LIST

Option Option Alias Description
Defaults to listing terraform versions installed locally (in tfv store)
--local -l Lists all terraform versions installed locally
--remote -r Lists all terraform versions available remotely, on terraform server
tfv list [option]

Run with alias

tfv ls [option]
  • REMOVE

Remove terraform versions managed by tfv

  tfv remove <versions>

Run with alias

  tfv rm <versions>

Example

  tfv rm x.y.z z.x.y
  • AUTO-SWITCH

Auto-detects your project terraform version, downloads it if it's not in tfv store, and switch to the version

  tfv auto-switch

Run with alias

  tfv as
  • PLAN

Run terraform plan with optional file-based targets. Parses terraform files to extract resources, data sources, and modules as targets.

  tfv plan --file main.tf

With multiple files

  tfv plan --file main.tf --file network.tf

With extra terraform flags

  tfv plan --file main.tf -- -var="env=prod" -out=plan.out
  • APPLY

Run terraform apply with optional file-based targets.

  tfv apply --file main.tf

With auto-approve

  tfv apply --file main.tf -- -auto-approve
  • DESTROY

Run terraform destroy with optional file-based targets.

  tfv destroy --file main.tf

With auto-approve

  tfv destroy --file main.tf -- -auto-approve

About

NodeJS CLI tool to manage multiple terraform versions on Windows, MacOS, and Linux.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors