Open source tools
Build your infrastructure on open source

Gruntwork has been a strong advocate for open source in infrastructure since our founding. Check out our most popular tools below.

Manage infrastructure in small deployable units
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.
Commercial Product Support
Account Factory
Deploy infrastructure changes with full support for Terragrunt, including run-all support. Terragrunt stacks support is coming soon.
Pipelines
Automatically update Terragrunt files to the latest version of the relevant OpenTofu/Terraform module.
Patcher
Provision new AWS accounts (or sets of AWS accounts as part of creating a new team!) by automatically generating the right Terragrunt files and folder structure.
See More:
Validate OpenTofu/Terraform modules
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.
Commercial Product Support
IaC Library
Almost every OpenTofu/Terraform module comes with Terratest to validate its behavior.
Account Factory
The underlying OpenTofu/Terraform modules used to build Account Factory are validated using Terratest.
See More:
Automate repetitive DevOps work by generating folders and files in advanced ways
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.
Commercial Product Support
Account Factory
You can specify an arbitrarily complex set of templates to create your new AWS accounts or even whole new teams, all using Boilerplate.
IaC Library
Due to limitations in OpenTofu/Terraform, some modules must redundantly declare a unique OpenTofu/Terraform resource for every AWS region. Boilerplate allows us to auto-generate these files, making it easier to stay on top of new AWS region updates.
See More:
Delete all the resources in your AWS account
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).
Commercial Product Support
IaC Library
We’ve written hundreds of Terratests to validate our IaC Library OpenTofu/Terraform modules, however when those tests fail, we have leftover resources. To address this, we run a scheduled process on our internal testing accounts to periodically nuke them. To be clear, we never run CloudNuke on customer accounts; only on internal Gruntwork testing infrastructure.
See More:
Run a single script against multiple git repos and automatically open a GitHub pull requests
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
See More:
Terragrunt
Orchestrate infrastructure
Manage infrastructure in small deployable units
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.
Commercial Product Support
Account Factory
Deploy infrastructure changes with full support for Terragrunt, including run-all support. Terragrunt stacks support is coming soon.
Pipelines
Automatically update Terragrunt files to the latest version of the relevant OpenTofu/Terraform module.
Patcher
Provision new AWS accounts (or sets of AWS accounts as part of creating a new team!) by automatically generating the right Terragrunt files and folder structure.
See More:
Terratest
Validate IaC modules
Validate OpenTofu/Terraform modules
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.
Commercial Product Support
IaC Library
Almost every OpenTofu/Terraform module comes with Terratest to validate its behavior.
Account Factory
The underlying OpenTofu/Terraform modules used to build Account Factory are validated using Terratest.
See More:
Boilerplate
Generate DevOps code
Automate repetitive DevOps work by generating folders and files in advanced ways
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.
Commercial Product Support
Account Factory
You can specify an arbitrarily complex set of templates to create your new AWS accounts or even whole new teams, all using Boilerplate.
IaC Library
Due to limitations in OpenTofu/Terraform, some modules must redundantly declare a unique OpenTofu/Terraform resource for every AWS region. Boilerplate allows us to auto-generate these files, making it easier to stay on top of new AWS region updates.
See More:
CloudNuke
Destroy your cloud account
Delete all the resources in your AWS account
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).
Commercial Product Support
IaC Library
We’ve written hundreds of Terratests to validate our IaC Library OpenTofu/Terraform modules, however when those tests fail, we have leftover resources. To address this, we run a scheduled process on our internal testing accounts to periodically nuke them. To be clear, we never run CloudNuke on customer accounts; only on internal Gruntwork testing infrastructure.
See More:
GitXargs
Make changes across git repos
Run a single script against multiple git repos and automatically open a GitHub pull requests
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
See More: