Keep up with all the latest features across Gruntwork products.
We're excited to introduce significant improvements to how Gruntwork Pipelines detects and processes changes in your infrastructure code. These enhancements make Pipelines more predictable and responsive to the full range of modifications in your codebase.
We've added several opt-in feature flags that you can enable by setting environment variables in your Pipelines configuration. You can enable these independently, or set PIPELINES_FEATURE_EXPERIMENT_ALL
to true
to enable the full set of functionality described below.
We expect to enable these behaviors by default in a future major version of Pipelines. Check out our feature flags documentation for more details on how to implement these improvements in your workflow in the meantime.
Feature Flag: PIPELINES_FEATURE_EXPERIMENT_COLOCATED_FILE_UNIT_CHANGE_DETECTION
This flag enhances how Pipelines detects changes within Terragrunt Units (any non-root directory of the repo that contains a terragrunt.hcl
file) to better align with our semantic notion of a unit.
When enabled, any file modified within a Terragrunt Unit will trigger a ModuleChanged event for that unit, causing Pipelines to run a Terragrunt Plan/Apply operation for the affected directory. This includes files like terragrunt.lock.hcl
and other support files within the unit. Previously, these would trigger a FileChanged event, which disregarded the semantic connection to the unit being affected.
For example, consider a unit containing these files:
tags.yml
dir1/terragrunt.hcl
dir1/myvars.json
With this new flag enabled:
dir1/myvars.json
is detected as a ModuleChanged event for dir1
, triggering a Terragrunt Plan/Apply for this directory.tags.yml
is still detected as a FileChanged event, causing Pipelines to run Terragrunt with queue-include-units-reading
for this file.Feature Flag: PIPELINES_FEATURE_EXPERIMENT_AGGRESSIVE_CONSOLIDATION
This flag improves how Pipelines consolidates and executes Terragrunt operations to improve dependency handling and minimize redundant change execution. When enabled, Pipelines will consolidate as many Terragrunt plan/apply changes as possible into a single run --all
job. This reduces duplicated work when, for example, both FileChanged and EnvCommon events would trigger plans for the same unit.
Feature Flag: PIPELINES_FEATURE_EXPERIMENT_MINIMIZE_BLAST_RADIUS
Safety is a core principle of Gruntwork Pipelines. In that spirit, we’re making improvements to ensure that the blast radius of your changes remain as localized as possible by default. With this flag enabled, Pipelines will execute Terragrunt run --all
with the --queue-strict-include
option, which helps reduce the blast radius of per-unit changes as dependencies will no longer run automatically when dependents are modified. This ensures that run --all
behaviors are consistent with runs for individual units.
Tired of triggering Pipelines on README updates? We've added a file exclusion mechanism to help you focus Pipelines on what matters. The new ignore list lets you exclude specific files and directories from change detection, such as documentation files, test fixtures, or any other non-infrastructure files that change frequently.
Add the ignore_list
key to the repository
block of your Pipelines config.yml
. This supports a comma-separated list of patterns with wildcards, allowing you to exclude files like documentation (**.md
), specific files in any directory (README.md,**/README.md
), or entire directories and their contents (docs/**
). Check out our docs for the complete syntax and additional examples.
Good news for GitLab users! Gruntwork Pipelines now supports GitLab Enterprise Self Hosted instances, in addition to our existing GitHub Cloud support.
This means you can now get all the great features of Pipelines right within your own self-hosted GitLab environment. Going self-hosted gives you more flexibility and control over your runtime, security, and compliance.
It's ready to go right now, check out the docs for more info on how to get started!
Stay tuned as GitHub Enterprise / Self Hosted support is also on the way.
Gruntwork Pipelines now natively supports Terragrunt Stacks. Stacks help you manage your infrastructure at scale by logically grouping collections of OpenTofu/Terraform units into versioned entities, keeping your IaC dry and your blast radius small. For a detailed overview, see our announcement blog post.
Now when you push updates involving terragrunt.stack.hcl
files in your pull/merge requests, Gruntwork Pipelines automatically evaluates the required changes and orchestrates the necessary infrastructure updates. This process ensures:
terragrunt stack generate
to identify impacted units, so you don't need to check in the generated units—only the terragrunt.stack.hcl
files.terragrunt.stack.hcl
updates (create, read, update, destroy) are handled automatically.You can freely mix changes to terragrunt.stack.hcl
and terragrunt.hcl
files within the same Pull/Merge Request. Pipelines will handle the rest.
This functionality is available now for both GitHub and GitLab. Refer to our docs and the migration guide for more information on how to get started with stacks.
At Gruntwork, we’re always shipping new features—but we know it can be hard to keep track with updates spread across multiple tools. That’s why we’re excited to launch our new Product Changelog: a single place to stay up to date with the latest improvements and highlights.
We’ll keep it short, sweet, and useful. This isn’t a full list of every change, and we won’t use it to market to you—just quick, meaningful updates with links if you want to dive deeper.
Have thoughts or feedback? We’d love to hear from you! Let us know at feedback@gruntwork.io.