tfswitcher

Crates.iotfswitcher
lib.rstfswitcher
version0.8.0
sourcesrc
created_at2023-07-02 14:18:07.652744
updated_at2024-06-03 08:44:57.851881
descriptionA Terraform and OpenTofu version switcher
homepage
repositoryhttps://github.com/ASleepyCat/tfswitcher
max_upload_size
id906058
size121,962
(ASleepyCat)

documentation

README

tfswitcher

Terraform and OpenTofu version switcher written in Rust.

Installation

Homebrew

To install via Homebrew, run:

brew install asleepycat/tap/tfswitcher

This will build from source.

Cargo

To install with cargo, run:

cargo install tfswitcher

There are also prebuilt binaries available with each release for Linux, macOS and Windows.

Usage

To see available flags and arguments, run tfswitcher -h or tfswitcher --help.

You can also use a configuration file to automatically set certain flags or arguments. Simply place a file called .tfswitch.toml either in your current working directory or in your $HOME directory.

bin = "$HOME/.local/bin/terraform"
list_all = false
opentofu = false
force_remove = false
silent = false
verbose = false
version = "1.0.0"

Shell Completions

tfswitcher can generate tab-completion scripts for your desired shell. To see which shells are supported, see the --help text.

For example, for Bash:

tfswitcher -c bash >> ~/.local/share/bash-completion/completions/tfswitcher

Alternatively, you can source the tab-completion script inside your shell's start up script:

echo "source <(tfswitcher -c bash)" >> ~/.bashrc

Caveats

This has not been tested on Windows or macOS, so YMMV.

Where's v0.1.0?

v0.1.0 used FFI with Cgo in order to use HashiCorp's terraform-config-inspect library. This was inadvertently published as the Windows and macOS builds were broken and is yanked.

v0.2.0 replaced the Go library with a partially-reimplemented Rust library to eliminate FFI and makes building for Windows and macOS a lot less painful.

Commit count: 351

cargo fmt