{"id":13505854,"url":"https://github.com/opencredo/terrahelp","last_synced_at":"2025-10-21T04:51:15.652Z","repository":{"id":44994568,"uuid":"54924122","full_name":"opencredo/terrahelp","owner":"opencredo","description":"Terraform helper. Terrahelp is as a command line utility written in Go and is aimed at providing supplementary functionality which can sometimes prove useful when working with Terraform.","archived":false,"fork":false,"pushed_at":"2023-03-24T10:40:07.000Z","size":2921,"stargazers_count":380,"open_issues_count":8,"forks_count":39,"subscribers_count":24,"default_branch":"main","last_synced_at":"2025-09-14T10:37:02.938Z","etag":null,"topics":["keep"],"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/opencredo.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}},"created_at":"2016-03-28T21:14:23.000Z","updated_at":"2025-09-09T13:00:10.000Z","dependencies_parsed_at":"2024-01-03T02:29:16.352Z","dependency_job_id":"f33e82a1-3d71-42a0-9be0-bea897f749d1","html_url":"https://github.com/opencredo/terrahelp","commit_stats":{"total_commits":78,"total_committers":12,"mean_commits":6.5,"dds":0.4358974358974359,"last_synced_commit":"201f6c1ef69fd4d127be9ae0fde667a85e959fc4"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/opencredo/terrahelp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencredo%2Fterrahelp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencredo%2Fterrahelp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencredo%2Fterrahelp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencredo%2Fterrahelp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opencredo","download_url":"https://codeload.github.com/opencredo/terrahelp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencredo%2Fterrahelp/sbom","scorecard":{"id":709137,"data":{"date":"2025-08-11","repo":{"name":"github.com/opencredo/terrahelp","commit":"fc1b62a26071a1c8e05f62b0f9a93ea839a857a2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":3,"reason":"Found 11/28 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/opencredo/terrahelp/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/opencredo/terrahelp/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/opencredo/terrahelp/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/opencredo/terrahelp/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/opencredo/terrahelp/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/opencredo/terrahelp/release.yml/main?enable=pin","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.7.5 not signed: https://api.github.com/repos/opencredo/terrahelp/releases/50745245","Warn: release artifact v0.7.5-alpha not signed: https://api.github.com/repos/opencredo/terrahelp/releases/50729859","Warn: release artifact v0.7.4 not signed: https://api.github.com/repos/opencredo/terrahelp/releases/22067725","Warn: release artifact v0.7.3 not signed: https://api.github.com/repos/opencredo/terrahelp/releases/21998690","Warn: release artifact v0.7.1 not signed: https://api.github.com/repos/opencredo/terrahelp/releases/19846501","Warn: release artifact v0.7.5 does not have provenance: https://api.github.com/repos/opencredo/terrahelp/releases/50745245","Warn: release artifact v0.7.5-alpha does not have provenance: https://api.github.com/repos/opencredo/terrahelp/releases/50729859","Warn: release artifact v0.7.4 does not have provenance: https://api.github.com/repos/opencredo/terrahelp/releases/22067725","Warn: release artifact v0.7.3 does not have provenance: https://api.github.com/repos/opencredo/terrahelp/releases/21998690","Warn: release artifact v0.7.1 does not have provenance: https://api.github.com/repos/opencredo/terrahelp/releases/19846501"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"30 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-2947 / GHSA-v6v8-xj6m-xwqh","Warn: Project is vulnerable to: GO-2022-0209 / GHSA-r5c5-pr8j-pfp7","Warn: Project is vulnerable to: GO-2023-1992 / GHSA-x3jr-pf6g-c48f","Warn: Project is vulnerable to: GO-2022-0229 / GHSA-cjjc-xp8v-855w","Warn: Project is vulnerable to: GO-2020-0012 / GHSA-ffhg-7mh4-33c4","Warn: Project is vulnerable to: GO-2021-0227 / GHSA-3vm4-22fp-5rfm","Warn: Project is vulnerable to: GO-2022-0968 / GHSA-gwc9-m7rh-j2ww","Warn: Project is vulnerable to: GO-2021-0356 / GHSA-8c26-wmh5-6g9v","Warn: Project is vulnerable to: GO-2024-2961","Warn: Project is vulnerable to: GO-2023-2402 / GHSA-45x7-px36-x8w8","Warn: Project is vulnerable to: GO-2024-3321 / GHSA-v778-237x-gjrc","Warn: Project is vulnerable to: GO-2025-3487 / GHSA-hcg3-q754-cr77","Warn: Project is vulnerable to: GO-2022-0536 / GHSA-39qc-96h7-956f / GHSA-hgr8-6h9x-f7q9","Warn: Project is vulnerable to: GO-2022-0236 / GHSA-h86h-8ppg-mxmh","Warn: Project is vulnerable to: GO-2021-0238 / GHSA-83g2-8m93-v3w7","Warn: Project is vulnerable to: GO-2022-0288","Warn: Project is vulnerable to: GO-2022-0969 / GHSA-69cg-p879-7622","Warn: Project is vulnerable to: GO-2022-1144 / GHSA-xrjj-mj9h-534m","Warn: Project is vulnerable to: GO-2023-1571 / GHSA-vvpx-j8f3-3w6h","Warn: Project is vulnerable to: GO-2023-1988 / GHSA-2wrh-6pvc-2jm9","Warn: Project is vulnerable to: GO-2023-2102 / GHSA-4374-p667-p6c8","Warn: Project is vulnerable to: GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GO-2024-2687 / GHSA-4v7x-pqxf-cx7m","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: GO-2020-0015 / GHSA-5rcv-m4m3-hfh7","Warn: Project is vulnerable to: GO-2021-0113 / GHSA-ppp9-7jff-5vj2","Warn: Project is vulnerable to: GO-2022-1059 / GHSA-69ch-w2m2-3vjp","Warn: Project is vulnerable to: GO-2024-2631 / GHSA-c5q2-7r4c-mv6g"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T07:37:27.726Z","repository_id":44994568,"created_at":"2025-08-22T07:37:27.726Z","updated_at":"2025-08-22T07:37:27.726Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280207180,"owners_count":26290616,"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","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["keep"],"created_at":"2024-08-01T00:01:15.492Z","updated_at":"2025-10-21T04:51:15.628Z","avatar_url":"https://github.com/opencredo.png","language":"Go","readme":"[![Travis CI][Travis-Image]][Travis-Url]\n[![ReportCard][ReportCard-Image]][ReportCard-Url]\n\n# Terrahelp\n##### Terraforming, with a little help from your friends\n\nTerrahelp is as a command line utility written in [Go](https://golang.org) and is aimed at\nproviding supplementary functionality which can sometimes prove useful when working with\n[Terraform](https://www.terraform.io).\n\nAt present, it offers the following:\n\n* _Encryption \u0026 decryption functionality_.\nRun in either full or inline mode, and leveraging either a simple or [Vault](https://www.vaultproject.io) based encryption provider, this\nfunctionality provides the ability to encrypt and decrypt files such as terraform.tfstate files, as well as piped in\noutput from commands such as terraform apply etc.\n\n* _Masking functionality_.\nIf you don't want to encrypt sensitive data, but rather just mask it out with something like ***** then you can use\nthe mask command instead. This can either be run over a file, or have the content piped into it.\n\nFor more details, and some examples of how to use it please see [the example READMEs](https://github.com/opencredo/terrahelp/tree/master/examples).\n\nAdditionally the blog post [Securing Terraform State with Vault](https://opencredo.com/blogs/securing-terraform-state-with-vault/) also provides more details and background as well.\n\n        NAME:\n           terrahelp - Provides additional functions helpful with terraform development\n\n        USAGE:\n           terrahelp [global options] command [command options] [arguments...]\n\n        VERSION:\n           X.X.X\n\n        AUTHOR(S):\n           https://github.com/opencredo OpenCredo - Nicki Watt\n\n        COMMANDS:\n            vault-autoconfig\tAuto configures Vault with a basic setup to support encrypt and decrypt actions.\n            encrypt\t\t        Uses configured provider to encrypt specified content\n            decrypt\t\t        Uses configured provider to decrypt specified content\n            mask                    Mask will overwrite sensitive data in output or files with a masked value (eg. ******).\n            help, h                 Shows a list of commands or help for one command\n\n        GLOBAL OPTIONS:\n           --help, -h\t\tshow help\n           --version, -v\tprint the version\n\n\n## Installation\n\n### macOS\n\nInstall using [Homebrew](https://brew.sh/):\n\n    brew install terrahelp\n    terrahelp -v\n\n### Manual Installation Using the Pre-Built Binaries\n\nAvailable from the Terrahelp repository's [releases page](https://github.com/opencredo/terrahelp/releases)\n\nThe community has also made it available as a [Terrahelp AUR package](https://aur.archlinux.org/packages/terrahelp)\n\n#### macOS, Linux \u0026 *BSD\n\nDownload a binary, set the correct permissions, add to your PATH:\n\n    chmod +x terrahelp\n    export PATH=$PATH:/wherever/terrahelp\n\nAnd run it:\n\n    terrahelp --help\n\n##### macOS Additional Step\n\n`terrahelp` may be prevented from running if you downloaded it using a web browser. To fix this, remove the quarantine attribute before running again:\n\n    xattr -d com.apple.quarantine terrahelp\n\n#### Windows\n\nNot yet supported\n\n## Build from source\n\n### Prerequisites\n\nInstall Go (Terrahelp is currently built against 1.16.x).  The following official resources will guide you through your environment setup.\n\n* [Getting Started](https://golang.org/doc/install)\n* [Go Documentation](https://golang.org/doc)\n\nClone the Terrahelp repository.\n\n```bash\nmkdir -p \"$GOPATH/src/github.com/opencredo/\"\ngit clone https://github.com/opencredo/terrahelp.git \"$GOPATH/src/github.com/opencredo/terrahelp\"\ncd \"$GOPATH/src/github.com/opencredo/terrahelp\"\n```\n\n### Dependencies\n\nTerrahelp uses Go modules to manage it's dependencies.  During Go's transition to switching on modules by default, Terrahelp is setup to buildusing the vendor directory.\nSupportive targets are prvoided to allow the vendor directory to be recreated if required.\n\n### Building and Executing\n\nAfter a build has completed successfully a binary will be built and placed into a local bin directory.  The following commands build and execute terrahelp.\n\n    make build\n    ./bin/terrahelp -v\n\n### Testing\n\n    make test\n\n### Installing and Executing\n\nInstallation places the binary in the `$GOPATH/bin` directory. Assuming that the directory has been added to your `PATH`, the following commands will install and execute Terrahelp.\n\n    make install\n    terrahelp -v\n\n### Want to cross compile it?\n\nThe make file allows both OSX and Linux binaries to be created at the same time or individually.\nThe following commands show joint creation followed by OSX, (darwin) then Linux creation.  All cross compiled binaries will be placed in a `dist` directory.\n\n    make dist\n    make darwin\n    make linux\n\n### Clean your project\n\nA number of work directories will have been created through the previous build steps. The local `bin` and `dist` directories will contain binaries.\nThe following command can be used to return the project back to a pre build state.\n\n    make clean\n\n### Dependency management\n\nThe following targets have been created to allow dependencies to be managed through Go modules.  As mentioned before Terrahelp builds using the vendor directory.\n\n* `make dependencies`\n  * Downloads the dependencies to the Go modules cache.\n* `make tidy-dependencies`\n  * Adds missing and removes unused modules.\n* `make vendor-dependencies`\n  * Copies the dependencies into the local vendor directory.\n* `make clean-dependencies`\n  * Removes the local vendor directory.\n\n**NOTE:**  The Makefile defines a variable called `BUILDARGS` and this is currently set with `-mod=vendor`.  This instructs various go commands to use the vendor directory.  This can be overridden to build to project using standard go module flows.\n\n    BUILDARGS='' make build\n\n## Releasing\n\n### Brew\n***NOTE:*** This step should be performed *after* a new version of `terrahelp` has been released.\n\nFollow the instructions outlined in [Submit a new version of an existing formula][Homebrew-Update-Formula] to update the version of `terrahelp` installed by Brew.\n\nFor reference, the formula can be viewed in the homebrew-core repository [here][Terrahelp-Formula].\n\n[Travis-Image]: https://travis-ci.org/opencredo/terrahelp.svg?branch=master\n[Travis-Url]: https://travis-ci.org/opencredo/terrahelp\n[ReportCard-Url]: http://goreportcard.com/report/opencredo/terrahelp\n[ReportCard-Image]: http://goreportcard.com/badge/opencredo/terrahelp\n[Homebrew-Update-Formula]: https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request#submit-a-new-version-of-an-existing-formula\n[Terrahelp-Formula]: https://github.com/Homebrew/homebrew-core/blob/master/Formula/terrahelp.rb\n","funding_links":[],"categories":["Tools","Go","others"],"sub_categories":["Miscellaneous","Community providers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencredo%2Fterrahelp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencredo%2Fterrahelp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencredo%2Fterrahelp/lists"}