Terrap, by Sirrend
Simplify your Provider version upgrades with Terrap - a powerful CLI tool that scans your system and identifies any required changes.
The tool offers clear and actionable notifications, helping you streamline the upgrade process and avoid any potential errors or complications.
🔍 Terrap is an alpha version project, therefore some data might be partial.
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.
- 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 install terrap-cli
Quick Start ⏩
- Go to your local IaC repository folder.
- Initialize a new terrap workspace where you would run
terraform apply
with terrap init
.
- Scan your workspace with:
terrap scan
https://user-images.githubusercontent.com/47568615/232331582-998cb9dc-4ad4-465e-af31-4fab0c77877b.mov
Features 🚀
Scan for changes with scan
Scan your infrastructure for changes in the following provider version for a safe and easy upgrade!
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
.
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.
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.