All Projects → aaratn → Terraenv

aaratn / Terraenv

Licence: mit
Terraform & Terragrunt Version Manager

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Terraenv

Terraform Provider Aiven
Terraform Aiven provider
Stars: ✭ 68 (-5.56%)
Mutual labels:  terraform
Jdk switcher
A yet another Ubuntu/Debian-specific tool that makes switching between multiple JDK versions a one liner
Stars: ✭ 69 (-4.17%)
Mutual labels:  version-manager
Terraform Aws Wireguard
Terraform module to deploy WireGuard on AWS
Stars: ✭ 72 (+0%)
Mutual labels:  terraform
Terraform Aws Airflow
Terraform module to deploy an Apache Airflow cluster on AWS, backed by RDS PostgreSQL for metadata, S3 for logs and SQS as message broker with CeleryExecutor
Stars: ✭ 69 (-4.17%)
Mutual labels:  terraform
Webdavfs
Linux / OSX FUSE webdav filesystem. This filesystem behaves like a real network filesystem- no unnecessary copying of entire files.
Stars: ✭ 69 (-4.17%)
Mutual labels:  osx
Allegro5
The official Allegro 5 git repository. Pull requests welcome!
Stars: ✭ 1,165 (+1518.06%)
Mutual labels:  osx
Awsconsolerecorder
Records actions made in the AWS Management Console and outputs the equivalent CLI/SDK commands and CloudFormation/Terraform templates.
Stars: ✭ 1,152 (+1500%)
Mutual labels:  terraform
.dots
💻 All of my dotfiles.
Stars: ✭ 72 (+0%)
Mutual labels:  osx
Magnum Bootstrap
Bootstrap projects for Magnum C++11/C++14 graphics engine
Stars: ✭ 69 (-4.17%)
Mutual labels:  osx
Ddcctl
DDC monitor controls (brightness) for Mac OSX command line
Stars: ✭ 1,171 (+1526.39%)
Mutual labels:  osx
Terraform Provisioner Inspec
Terraform InSpec Provisioner Plugin
Stars: ✭ 69 (-4.17%)
Mutual labels:  terraform
Reminders Cli
Command-line interface to interact with the Reminders.app
Stars: ✭ 67 (-6.94%)
Mutual labels:  osx
Zap
A CLI for cleaning up after .apps
Stars: ✭ 70 (-2.78%)
Mutual labels:  osx
Terraform Provider Credstash
Terraform provider for secrets stored with credstash
Stars: ✭ 68 (-5.56%)
Mutual labels:  terraform
Macqq
mac版QQ,swift,macOS,仿QQ mac端
Stars: ✭ 72 (+0%)
Mutual labels:  osx
Elastic Beanstalk Terraform Setup
🎬 Playbook for setting up & deploying AWS Beanstalk Applications on Docker with 1 command
Stars: ✭ 69 (-4.17%)
Mutual labels:  terraform
Terraform Aws Vpc Peering
Terraform module to create a peering connection between two VPCs in the same AWS account.
Stars: ✭ 70 (-2.78%)
Mutual labels:  terraform
Tf Jitsi
5-minute self-hosted Jitsi on AWS
Stars: ✭ 73 (+1.39%)
Mutual labels:  terraform
Timelapsebuilder Swift
Build a movie from jpeg images in Swift using AVFoundation
Stars: ✭ 72 (+0%)
Mutual labels:  osx
Terrastack
This project is archived, but the idea of Terrastack lives on in the Terraform CDK. - https://github.com/hashicorp/terraform-cdk
Stars: ✭ 71 (-1.39%)
Mutual labels:  terraform

Actions Status

terraenv

terraenv

Terraform & Terragrunt version manager inspired by rbenv, tfenv, tgenv

Support

Currently terraenv supports the following Operating System

  • Mac OS X (64bit)
  • Linux (64bit)

Installation

Automatic

Install via Homebrew on OSx

$ brew tap aaratn/terraenv
$ brew install terraenv

Install via Python pip

$ pip install terraenv

Upgrade

via Homebrew on OSx

$ brew upgrade terraenv

Manual on Linux And OSX

  1. Download terraenv for your operating system

Linux

$ wget https://github.com/aaratn/terraenv/releases/latest/download/terraenv_linux_x64.tar.gz

OSX

$ wget https://github.com/aaratn/terraenv/releases/latest/download/terraenv_osx_x64.tar.gz
  1. Extract Tar Archive

Linux

$ tar -xvzf terraenv_linux_x64.tar.gz

OSX

$ tar -xvzf terraenv_osx_x64.tar.gz
  1. Copy the extracted file to your /usr/local/bin directory
$ cp terraenv /usr/local/bin/terraenv

On Ubuntu/Debian touching /usr/local/bin might require sudo access

Usage

terraenv <terraform / terragrunt > install [version]

Install a specific version of Terraform. Available options for version:

  • 1.2.3 exact version to install
  • latest installs latest version
$ terraenv terraform install 0.12.15
$ terraenv terragrunt install 0.21.6
$ terraenv terraform install latest
$ terraenv terragrunt install latest

terraenv < terraform / terragrunt > list remote

.terraenv

If you use a .terraenv, terraenv <terraform / terragrunt > install (no argument) will install the version written in it.

terraenv <terraform/terragrunt> use <version>

Switch a version to use

$ terraenv terraform use 0.11.14
$ terraenv terragrunt use 0.21.6

terraenv uninstall <terraform/terragrunt> <version>

Uninstall a specific version of Terraform

$ terraenv terraform uninstall 0.12.15
$ terraenv terragrunt uninstall 0.21.5

terraenv <terraform/terragrunt> list local

List installed versions

% terraenv terraform list local
0.12
0.11.13
0.11.14
0.12.11
0.12.0
0.12.12
0.12.13
% terraenv terragrunt list local
0.18.7
0.21.6

terraenv <terraform/terragrunt> list remote

List installable versions

% terraenv terraform list remote
...
0.11.3
0.11.4
0.11.5
0.11.6
0.11.7
0.11.8
0.11.9
0.11.10
0.11.11
0.11.12
0.11.13
0.11.14
0.12.0
0.12.1
0.12.2
0.12.3
0.12.4
0.12.5
0.12.6
0.12.7
0.12.8
0.12.9
0.12.10
0.12.11
0.12.12
0.12.13
0.12.14
0.12.15

.terraenv file

If you put a .terraenv file on your project root, terraenv detects it and uses the version written in it.

$ cat .terraenv
TERRAFORM=0.12.15
TERRAGRUNT=0.21.6

$ terraenv terraform install

$ terraform -version
Terraform v0.12.15

$ terraenv terragrunt install

$ terragrunt -version
terragrunt version v0.21.6

To use Terraform or Terragrunt version from `.terraenv` file present at your current directory path.

$ terraenv terraform use

$ terraenv terragrunt use

LICENSE

Inspiration

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].