Awesome
Terrap, by Sirrend
</br> <img src="./docs/terrap-cover.png"/> </br></br> Simplify your Provider version upgrades with Terrap - a powerful CLI tool that scans your system and identifies any required changes. </br> The tool offers clear and actionable notifications, helping you streamline the upgrade process and avoid any potential errors or complications.</br></br> š Terrap is an alpha version project, therefore some data might be partial.
Resources
- Documentation - <a href="https://www.sirrend.com/terrap-docs">sirrend.com/terrap-docs</a>
Constraints š§±
- Supported Terraform Core versions:
>=0.13
. - Every provider which uses
Terraform Core 0.13
or higher.
Good To Know š”
Terrap decides which Terraform version to use in the following order:
-
The latest installed Terraform version found locally.
-
If the
TERRAP_TERRAFORM_VERSION
environment variable is set, Terrap will use the version specified as long as it matches the>=0.13
constraint.</br> Set environment variable on mac/linux:</br>export <var>=<value>
Set environment variable on windows:</br>
$Env:TERRAP_TERRAFORM_VERSION = "0.13"
-
If none of the above is applicable, Terrap will download the latest available version.
How to Download ā¬ļø
Clone sirrend/terrap-cli
git clone https://github.com/sirrend/terrap-cli
cd terrap-cli
go build -o terrap .
chmod +x terrap
mv terrap /usr/local/bin/
Brew
brew tap sirrend/products
brew install terrap
Validate terrap is working by executing terrap
.
Quick Start ā©
Initialize my First Workspace
-
CD
to the local Terraform folder you want to work with.</br>cd < /terraform/folder/path >
</br></br> -
Initialize a new Terrap workspace where you would run terraform apply with
terrap init
.</br></br> <strong>Important!</strong> </br> As Terrap runs <code>terraform init</code> under the hood, it would need every configuration component you normally use when executing the command.</br> It can be environment variables, the <code>.aws/credentials</code> file, etc. -
Scan your workspace with:
terrap scan
Features š
Scan for changes with scan
Scan your infrastructure for changes in the following provider version for a safe and easy upgrade!</br>
Looking for a specific resource type changes? Use the --data-sources
--resources
and --provider
flags.
Stay up-to-date with whats-new
Ready to explore what's new in the following version of your provider? Simply execute terrap whats-new
.</br>
Looking to delve into a specific version of your provider? Specify the desired version with --fixed-providers <provider>:<version>
to explore what's new and improved.
Which Providers are Supported?
Run terrap providers get-supported
to get a list of all supported providers and version ranges.</br>
You can use the --filter
flag if you're looking for something specific.
What's the Future Hold š®
- Bulk updates - straight to a version of your choosing.
- Automatic Upgrades - you write, Terrap upgrades.
- Expanding Terrap's providers support.
Something's Wrong? Tell Us! šØ
You can open an issue either directly from the CLI using terrap open-issue
or through the GitHub UI.
Want to contribute? š Lucky us!
- Checkout from the
main
branch. - Add your code with the proper documentation.
- Open a PR with a detailed explanation of the functionality you want to add.