Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sirrend/terrap-cli
Terrap - a powerful CLI tool that scans your infrastructure and identifies any required changes.
https://github.com/sirrend/terrap-cli
aws ci cli cli-tools cloud devops devops-tools gcp github hashicorp-terraform iac infrastracture maintanance providers terraform upgrades
Last synced: 2 months ago
JSON representation
Terrap - a powerful CLI tool that scans your infrastructure and identifies any required changes.
- Host: GitHub
- URL: https://github.com/sirrend/terrap-cli
- Owner: sirrend
- License: apache-2.0
- Created: 2023-03-22T21:17:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-05T10:17:41.000Z (about 1 year ago)
- Last Synced: 2024-09-27T18:41:44.721Z (3 months ago)
- Topics: aws, ci, cli, cli-tools, cloud, devops, devops-tools, gcp, github, hashicorp-terraform, iac, infrastracture, maintanance, providers, terraform, upgrades
- Language: Go
- Homepage: https://www.sirrend.com/terrap-docs
- Size: 5.04 MB
- Stars: 65
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tf - terrap-cli - Terrap - a powerful CLI tool that scans your infrastructure and identifies any required changes. (Tools / Community providers)
README
# Terrap, by Sirrend
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![GitHub go.mod Go version (subdirectory of monorepo)](https://img.shields.io/github/go-mod/go-version/sirrend/terrap-cli?filename=go.mod)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.**## Resources
* Documentation - sirrend.com/terrap-docs## Constraints 🧱
1. Supported Terraform Core versions: `>=0.13`.
2. Every provider which uses `Terraform Core 0.13` or higher.## Good To Know 💡
Terrap decides which Terraform version to use in the following order:
1. The latest installed Terraform version found locally.
2. If the `TERRAP_TERRAFORM_VERSION` environment variable is set, Terrap will use the version specified as long as it matches the `>=0.13` constraint.
Set environment variable on mac/linux:
```shell
export =
```
Set environment variable on windows:
```shell
$Env:TERRAP_TERRAFORM_VERSION = "0.13"
```
4. If none of the above is applicable, Terrap will download the latest available version.## How to Download ⬇️
### Clone sirrend/terrap-cli
```shell
git clone https://github.com/sirrend/terrap-cli
cd terrap-cligo build -o terrap .
chmod +x terrap
mv terrap /usr/local/bin/
```### Brew
```shell
brew tap sirrend/products
brew install terrap
```Validate terrap is working by executing `terrap`.
## Quick Start ⏩
### Initialize my First Workspace
1. `CD` to the local Terraform folder you want to work with.
`cd < /terraform/folder/path >`2. Initialize a new Terrap workspace where you would run terraform apply with `terrap init`.
Important!
As Terrap runsterraform init
under the hood, it would need every configuration component you normally use when executing the command.
It can be environment variables, the.aws/credentials
file, etc.3. Scan your workspace with: `terrap scan`
https://user-images.githubusercontent.com/47568615/236044850-3473952a-4169-4d63-beb7-cf1664afc35a.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 :` 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 🔮
1. Bulk updates - straight to a version of your choosing.
2. Automatic Upgrades - you write, **Terrap** upgrades.
3. 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!
1. Checkout from the `main` branch.
2. Add your code with the proper documentation.
3. Open a PR with a detailed explanation of the functionality you want to add.