{"id":14449544,"url":"https://github.com/breml/tfreveal","last_synced_at":"2026-04-10T06:26:09.602Z","repository":{"id":234484870,"uuid":"775838620","full_name":"breml/tfreveal","owner":"breml","description":"tfreveal shows a Terraform plan with all the secret (sensitive) values revealed","archived":false,"fork":false,"pushed_at":"2025-03-12T19:20:13.000Z","size":206,"stargazers_count":38,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T20:24:51.962Z","etag":null,"topics":["go","golang","opentofu","sensitive-data","terraform"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/breml.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-22T06:26:58.000Z","updated_at":"2025-03-12T19:20:17.000Z","dependencies_parsed_at":"2024-04-29T21:28:15.251Z","dependency_job_id":"d688a459-2d1a-4d38-bc97-38d2b1c4f1e6","html_url":"https://github.com/breml/tfreveal","commit_stats":null,"previous_names":["breml/tfreveal"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breml%2Ftfreveal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breml%2Ftfreveal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breml%2Ftfreveal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breml%2Ftfreveal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/breml","download_url":"https://codeload.github.com/breml/tfreveal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243841203,"owners_count":20356441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","opentofu","sensitive-data","terraform"],"created_at":"2024-09-01T08:01:21.393Z","updated_at":"2026-04-10T06:26:04.560Z","avatar_url":"https://github.com/breml.png","language":"Go","funding_links":[],"categories":["Tools","Recently Updated"],"sub_categories":["Community providers","[Aug 31, 2024](/content/2024/08/31/README.md)"],"readme":"# tfreveal\n\n[![Test Status](https://github.com/breml/tfreveal/workflows/Main/badge.svg)](https://github.com/breml/tfreveal/actions?query=workflow%3AMain)\n [![Go Report Card](https://goreportcard.com/badge/github.com/breml/tfreveal)](https://goreportcard.com/report/github.com/breml/tfreveal) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\ntfreveal is an open-source tool designed to enhance the visibility of Terraform\nplan files by displaying all differences in resources and outputs, including\nsensitive values. Unlike Terraform, which hides sensitive data, tfreveal reveals\nthese values to ensure complete transparency in your infrastructure changes.\n\n[![asciicast](https://asciinema.org/a/672302.svg)](https://asciinema.org/a/672302)\n\n## Motivation\n\nTerraform does mask sensitive values in the output (e.g. from `terraform plan`)\nin order to protect them from being revealed to unauthorized 3rd parties.\n\nBut sometimes it is neccessary to see the exact changes, Terraform will perform\nto the infrastructure including all the changes to sensitive values. In\nparticular, if one observes drift between the Terraform state and the actual\nstate of the infrastructure, this becomes inevitable. So far, Terraform does not\nprovide a feature to forcefully unmask the sensitive values in the\n[concise diff plan outputs](https://www.hashicorp.com/blog/terraform-0-14-adds-a-new-concise-diff-format-to-terraform-plans).\n\nThe general advice given by the Terraform maintainers is to use the JSON output\nin such cases. While the JSON output does provide all the necessary information,\nit is not perticularely easy to read for humans and to spot small differences.\nIt gets even more complicated, if the changes are contained in larger JSON\nencoded values, that are marked as sensitive.\n\nThere exists instructions using for example `jq`, but the process stays manual,\ncumbersome and error prone.\n\n`tfreveal` is here to fix this and provide an easy way to show the concise diff\nplan outputs with all sensitive values revealed.\n\n## Installation\n\nDownload the latest release from the [releases page](https://github.com/breml/tfreveal/releases).\n\n## Usage\n\nThe plan file generated from Terraform can be directly piped to `tfreveal`:\n\n```bash\n$ terraform plan -out plan.out\n$ terraform show -json plan.out | tfreveal\n```\n\nAlternatively, the plan file can also be passed as argument:\n\n```bash\n$ terraform plan -out plan.out\n$ terraform show -json plan.out \u003e plan.json\n$ tfreveal plan.json\n```\n\n## Development\n\nThe task to update the test data and the golden files is provided in the\n`Taskfile.yml` and can be executed by running `task gen-all`. This requires the\n`task` tool to be installed. Please refer to the\n[official documentation](https://taskfile.dev/installation/).\n\nAdditionally the `terraform` command needs to be present in the `PATH`. Follow\nthe [official installation instructions](https://developer.hashicorp.com/terraform/install).\n\n## Author\n\nCopyright 2024 by Lucas Bremgartner ([breml](https://github.com/breml))\n\n## License\n\n[MIT License](LICENSE)\n\n## Trademarks\n\nAll other trademarks referenced herein are the property of their respective owners.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbreml%2Ftfreveal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbreml%2Ftfreveal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbreml%2Ftfreveal/lists"}