tfarbe
tfarbe copied to clipboard
add color to Terraform 12/13 plan output, also format it for markdown diff
tfarbe
Add color to Terraform 12 plan output.
Inspired from: https://github.com/coinbase/terraform-landscape
NOTE: if you're using terraform v11, tfarbe will not help and you should use terraform-landscape
.
Example of output
![Improved Terraform plan output](https://github.com/jeff-knurek/tfarbe/raw/master/example/screenshot.png)
Also formats the ouput for markdown diff.
For example, this:
# module.apps.kubernetes_deployment.deployment is tainted, so must be replaced
-/+ resource "kubernetes_deployment" "deployment" {
~ id = "some-app" -> (known after apply)
wait_for_rollout = true
~ spec {
- active_deadline_seconds = 0 -> null
- automount_service_account_token = false -> null
dns_policy = "ClusterFirst"
host_ipc = false
host_network = false
host_pid = false
+ hostname = (known after apply)
+ node_name = (known after apply)
restart_policy = "Always"
+ service_account_name = (known after apply)
becomes:
# module.apps.kubernetes_deployment.deployment is tainted, so must be replaced
-/+ resource "kubernetes_deployment" "deployment" {
~ id = "some-app" -> (known after apply)
wait_for_rollout = true
~ spec {
- active_deadline_seconds = 0 -> null
- automount_service_account_token = false -> null
dns_policy = "ClusterFirst"
host_ipc = false
host_network = false
host_pid = false
+ hostname = (known after apply)
+ node_name = (known after apply)
restart_policy = "Always"
+ service_account_name = (known after apply)
Install
Binaries (should) be available on the Release page for both Linux and Mac. You can simple copy one of these binaries to your PATH.
Usage
terraform plan ... | tfarbe
with Docker
git clone https://github.com/jeff-knurek/tfarbe.git
cd tfarbe
docker build . -t tfarbe
....
terraform plan ... | docker run -i --rm tfarbe
Helpful bash addition
Add this to your .bash_profile
/.bashrc
/...
accordingly
terraform() {
if [[ $1 == "plan" ]]; then
command terraform "$@" | docker run --rm -i tfarbe
else
command terraform "$@"
fi
}
License
This project is released under the MIT license.