Skip to content

theREDspace/tfctx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

tfctx

Simple oh-my-zsh plugin that lets you jump between Terraform back-end configurations with a single command and shows the active environment in your prompt.

envs/
├── dev/
│   ├── config.hcl
│   └── variables.tfvars
└── prod/
    ├── config.hcl
    └── variables.tfvars

Features

  • tfctx : switches and controls both the -backend-config and -var-file arguments for you.
  • optional automatic terraform init (enabled by default)
  • tab-completion of available environments
  • $(tfctx_prompt_info) helper to show in your terminal prompt will show the active tfenv.

Custom enviornment detection

You can override the detection functionality to your own custom function using the below as an example.

Two arguments are passed to this function, the Terraform root directory path that was detected, and the path to the terraform.tfstate file.

tfctx_detect_env() { echo "dev"; }

But by default it uses jq, and compares the current tfstate key to your environment configurations to find a matching key used by your s3 remote.

Installation

Manual

git clone https://github.com/theREDspace/tfctx.git $ZSH/custom/plugins/tfctx

Add

plugins+=(tfctx)

Configuration

export TFCTX_ROOT="terraform/envs"         # default: envs, defined relative to the detected terraform root.
export TFCTX_BACKEND="config.hcl"          # backend config filename
export TFCTX_CONFIG_KEY="bucket"           # if you use a different bucket
export TFCTX_VARS="variables.tfvars"       # variables file filename
export TFCTX_INIT_OPTS=""                  # extra flags for every init
export TFCTX_VAR_OPTS=""                   # extra flags for plan/apply
export TFCTX_AUTO_INIT=0                   # disable auto-init
export TFCTX_DEBUG=1                       # enables debug logging

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages