Gruntwork has been a strong advocate for open source in infrastructure since our founding. Check out our most popular tools below.
Defining infrastructure in small deployable units (or just “units” for short) is the foundation for managing infrastructure at scale with OpenTofu and Terraform.
While OpenTofu and Terraform excel at defining infrastructure patterns, Terragrunt excels at deploying those patterns as small units of infrastructure.
Your OpenTofu and Terraform modules probably have bugs, but they’re hard to discover until someone hits an issue in prod.
To build confidence that your OpenTofu and Terraform modules work as expected, you need to write “unit tests” to validate their behavior. Terratest uses a simplified set of patterns in Go, plus over 100 utility functions to enable module authors to write tests.
When you need to stand up a new project, new team, new customer, or some other new infrastructure project, you often have a common set of files and folders you need to generate, with parameters that vary per instance.
Boilerplate is a cross-platform, code generator specially built for DevOps workloads that supports a number of helpful features like automatically executing bash commands to fill in template parameters, organizing your templates as a collection of smaller templates, running hooks before and after template generation, exposing an interactive UI to parameterize a template, supporting typed variables, and more.
Sometimes you need to clean up leftover resources in your AWS account so that you’re not charged for them, or delete every resource in your account entirely.
CloudNuke offers a CLI interface for reviewing the resources to be deleted and ultimately deleting them. It can be used both interactively (for manual deletion of AWS account resources) and non-interactively (for automatically clearing AWS accounts, for example, on a scheduled basis).
Sometimes you need to make a common change across many git repos, such as adding a file to many repos at once.
Common examples include running a search and replace (e.g. to change your company name or product name across a large number of repos), upgrading Terragrunt/OpenTofu/Terraform modules with a universal change, or modifying CI/CD configuration files across many repos. GitXargs streamlines all these changes
Any tool we publish as open source will remain open source forever.