{"id":20619376,"url":"https://github.com/containerscrew/tftools","last_synced_at":"2026-03-11T06:31:11.626Z","repository":{"id":168320362,"uuid":"644011502","full_name":"containerscrew/tftools","owner":"containerscrew","description":"Useful terraform/terragrunt tools","archived":false,"fork":false,"pushed_at":"2024-08-19T08:37:40.000Z","size":1354,"stargazers_count":19,"open_issues_count":4,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-03T18:18:51.589Z","etag":null,"topics":["golang","summarize","terraform","terragrunt"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/containerscrew.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2023-05-22T16:08:37.000Z","updated_at":"2025-05-05T08:48:53.000Z","dependencies_parsed_at":"2023-12-23T20:31:08.933Z","dependency_job_id":"c21ca0ef-ac3c-46dc-b25b-6be530f0783c","html_url":"https://github.com/containerscrew/tftools","commit_stats":null,"previous_names":["containerscrew/tftools"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/containerscrew/tftools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Ftftools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Ftftools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Ftftools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Ftftools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/containerscrew","download_url":"https://codeload.github.com/containerscrew/tftools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Ftftools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30373440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["golang","summarize","terraform","terragrunt"],"created_at":"2024-11-16T12:11:31.065Z","updated_at":"2026-03-11T06:31:11.586Z","avatar_url":"https://github.com/containerscrew.png","language":"Go","readme":"\u003cp align=\"center\" \u003e\n    \u003cimg src=\"assets/logo.png\" alt=\"logo\" width=\"250\"/\u003e\n\u003ch3 align=\"center\"\u003etftools\u003c/h3\u003e\n\u003cp align=\"center\"\u003eEasy CLI with useful terraform/terragrunt tools\u003c/p\u003e\n\u003cp align=\"center\"\u003eBuild with ❤ in Golang\u003c/p\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" \u003e\n    \u003cimg alt=\"Go report card\" src=\"https://goreportcard.com/badge/github.com/containerscrew/tftools\"\u003e\n    \u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/containerscrew/tftools\"\u003e\n    \u003cimg alt=\"GitHub go.mod Go version\" src=\"https://img.shields.io/github/go-mod/go-version/containerscrew/tftools\"\u003e\n\u003c/p\u003e\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*\n\n- [Badges](#badges)\n- [Tftools summarize](#tftools-summarize)\n- [Installation](#installation)\n  - [Install latest version](#install-latest-version)\n  - [Install specific release](#install-specific-release)\n  - [Container image](#container-image)\n- [Usage](#usage)\n  - [Built-in subcommand](#built-in-subcommand)\n- [Example](#example)\n- [TO DO](#to-do)\n- [Contribution](#contribution)\n- [LICENSE](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n# Badges\n\n![Release Status](https://github.com/containerscrew/tftools/actions/workflows/release.yml/badge.svg)\n![Build Status](https://github.com/containerscrew/tftools/actions/workflows/build.yml/badge.svg)\n![Git Leaks Status](https://github.com/containerscrew/tftools/actions/workflows/gitleaks.yml/badge.svg)\n![Lint Status](https://github.com/containerscrew/tftools/actions/workflows/lint.yml/badge.svg)\n![Gosec Status](https://github.com/containerscrew/tftools/actions/workflows/gosec.yml/badge.svg)\n![Test Status](https://github.com/containerscrew/tftools/actions/workflows/test.yml/badge.svg)\n[![License](https://img.shields.io/github/license/containerscrew/tftools)](/LICENSE)\n[![Release](https://img.shields.io/github/release/containerscrew/tftools)](https://github.com/containerscrew/tftools/releases/latest)\n[![GitHub Releases Stats](https://img.shields.io/github/downloads/containerscrew/tftools/total.svg?logo=github)](https://somsubhra.github.io/github-release-stats/?username=containerscrew\u0026repository=tftools)\n\n# Tftools summarize\n\n**The concern is:** I have a lot of changes in terraform and I need a clear way of the concepts that are going to be **deleted|changed|created** only with the resource address. It can be messy to have a super tf plan output when there are **many changes**.\n\n# Installation\n\n## Install latest version\n\n```shell\ncurl --proto '=https' --tlsv1.2 -sSfL https://raw.githubusercontent.com/containerscrew/tftools/main/scripts/install.sh | sh\n```\n\n## Install specific release\n\n```shell\ncurl --proto '=https' --tlsv1.2 -sSfL https://raw.githubusercontent.com/containerscrew/tftools/main/scripts/install.sh | sh -s -- -v \"v0.8.0\"\n```\n\n## Container image\n\n[In this other repo](https://github.com/containerscrew/infratools) I have a container image where you can find this tool `tftools` installed.\n\nhttps://hub.docker.com/r/containerscrew/infratools/\n\n\u003e Take a look inside [install](./docs/install.md) documentation for other installation methods.\n\n# Usage\n\nTake a look inside docs [usage](./docs/usage.md)\n\n## Built-in subcommand\n\n`tftools usage` is subcommand that prints the contents of [usage.md](docs/usage.md) in pretty terminal markdown render\n\n```bash\ntftools usage\n```\n\n\u003e Requires internet connectivity, as it fetches the [usage.md](docs/usage.md) file.\n\n# Example\n\n![example](assets/example.png)\n\n*This summarized output can be useful, for example, for:*\n\n* You are migrating a terraform module and there are many changes that may be important in terms of destroying/creating resources (e.g., if you are migrating an EKS module from v17.X to v19.X).\n* You use GitOps and deploy terraform from pipeline. The pipeline that makes the `terraform plan` can always show a summary of what is going to change (instead of having a super output of the original terraform plan).\n\n# TO DO\n\n* Improve error handling\n* Add tests, although I have no experience\n* Code refactor is certainly needed!\n* Create new subcommand for an interative terraform state mv target migration (when you need to move a lot of resources)\n* Other subcommand when you need to apply only certain targets (terraform apply -target=x -target=x ...)\n\n# Contribution\n\nPull requests are welcome! Any code refactoring, improvement, implementation.\n\n# LICENSE\n\n[LICENSE](./LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainerscrew%2Ftftools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontainerscrew%2Ftftools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainerscrew%2Ftftools/lists"}