Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ketchoop/flora
Upgrade and version manager for terraform
https://github.com/ketchoop/flora
flora go golang hashicorp rbenv terraform terraform-versions tfenv upgrade version-manager
Last synced: about 1 month ago
JSON representation
Upgrade and version manager for terraform
- Host: GitHub
- URL: https://github.com/ketchoop/flora
- Owner: ketchoop
- License: mit
- Created: 2018-01-07T01:14:51.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-10-07T21:28:41.000Z (about 2 years ago)
- Last Synced: 2024-08-02T00:26:34.235Z (4 months ago)
- Topics: flora, go, golang, hashicorp, rbenv, terraform, terraform-versions, tfenv, upgrade, version-manager
- Language: Go
- Homepage:
- Size: 2.72 MB
- Stars: 26
- Watchers: 3
- Forks: 5
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - ketchoop/flora - Upgrade and version manager for terraform (Go)
- awesome-tf - flora - Terraform version manager. (Tools / Community providers)
README
# flora
[![Build Status](https://travis-ci.org/ketchoop/flora.svg?branch=master)](https://travis-ci.org/ketchoop/flora)Version/upgrade manager for terraform
## What is it
*Flora* is another and missing **upgrade and version manager** for Terraform. Inspired by *tfenv* and written in go.
You can use it to upgrade your Terraform version *by one command*. Another use case: to switch between Terraform versions to use
compatible with your **.tf manifests** Terraform binary.## Features
* Upgrade your Terraform by one command
* Switch between Terraform versions easy, fast and without pain
* Bash/Zsh autocompletion. Even for versions.## Install
1. By *brew install*
```
brew install ketchoop/homebrew-tap/floramkdir -p ~/.flora/.bin
```2. By *go get*
```
go get -u github.com/ketchoop/flora/cmd/floramkdir -p ~/.flora/.bin
```3. By install.sh
```
curl https://raw.githubusercontent.com/ketchoop/flora/master/install.sh | bash
```All of installation ways require existing of `~/.flora/bin` directory and path to it in your `PATH`. So...
Add to `PATH`:
```
echo 'export PATH=$PATH:$HOME/.flora/bin' >> .path_to_your_rc_file # .bashrc, .zshrc and so onsource .path_to_your_rc_file # To update state of PATH env
```## Usage(short description)
```
NAME:
flora - Simple app to upgrade your terraformUSAGE:
flora [global options] command [command options] [arguments...]VERSION:
0.1.0COMMANDS:
upgrade Upgrade terraform
download Download specific Terraform version
use Download(when it's needed) and use specific terraform version
versions List all available terraform versions
help, h Shows a list of commands or help for one commandGLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
```## How it works
Like rbenv like tools it downloads binary of Terraform and links it to special folder (`~/.flora/bin`), which path have to be in you `PATH` env.
When you switch between versions flora links another version to bin folder.