gruntwork-newsletter

Gruntwork Newsletter, January 2025

Every few months, we send out a newsletter to all Gruntwork customers that describes all the updates we’ve made since the last newsletter…
Gruntwork Newsletter, January 2025
Zach Goldberg
Chief Technical Officer
Published January 11, 2025

Every few months, we send out a newsletter to all Gruntwork customers that describes all the updates we’ve made since the last newsletter and news from the DevOps industry. Note that many of the links below go to private repos in the Gruntwork Infrastructure as Code Library that are only accessible to customers.

Happy new year, and welcome to the first Gruntwork newsletter of 2025! We have a ton of exciting stuff planned for 2025, including of course lots of content related to the upcoming release of Terragrunt 1.0.

As always, if you have any questions or need help, email us at support@gruntwork.io!

Terragrunt Updates

The Road to Terragrunt 1.0

We’ve published a blog post detailing the vision and steps to be taken on The Road to Terragrunt 1.0. Give it a read and let us know what you think!

As we publish follow-up posts in the series, we’ll update this living post with more details on the topics covered therein.

Terragrunt Stacks Blog Post & Alpha Release

The dedicated Road to 1.0 blog post for Terragrunt Stacks has been published, giving a high level overview of why we’re introducing a new paradigm for Terragrunt Stacks, and a deep-dive on the new terragrunt.stack.hcl file.

To give an early preview of the functionality afforded by the new terragrunt.stack.hcl file, an alpha release has been cut that allows for generation of .terragrunt-stack directories using terragrunt.stack.hcl files. This is not a feature complete alpha of the functionality that will be available with stacks, but early feedback is welcome!

Stacks Alpha Demo

Exec Alpha Release

As discussed in the CLI Redesign RFC, the Terragrunt CLI is gaining new commands, and reorganizing existing functionality to improve ergonomics and provide enhanced functionality. Part of this will be provided by the introduction of the new exec command.

You can learn more about the exec command in the RFC.

Try out the command by installing the alpha, and share your feedback in the associated GitHub Discussion!

Experiment Mode

In release v0.70.0, we introduced a new mechanism for rolling out experimental functionality in Terragrunt we’re calling “Experiment Mode”.

Using this feature allows users to opt-in to experimental functionality using feature flags before they’re stable. This allows us to deliver new functionality quickly, while maintaining stability for the core of Terragrunt functionality.

To learn more about Experiment Mode, read the docs.

Feature Flags, Errors and Exclude

As discussed in the Feature Flags, Errors and Exclude RFC, Terragrunt has three new configuration blocks that allow for increased control over how it operates at runtime.

Feature Flags

Terragrunt now has first-class support for feature flags. Using a combination of the new feature configuration block and the new feature CLI flag, users can override default behavior of Terragrunt configurations at runtime.

This new feature has been designed to integrate nicely with two other new configuration blocks, the errors block and the exclude block.

Exclude

Replacing the now deprecated skip attribute, users can now define an exclude configuration block with settings to determine when a unit should be dynamically excluded from the queue of units to run.

The exclude configuration block introduces additional capabilities and is far more flexible than the deprecated skip attribute.

Exclude Demo

Errors

Replacing the now deprecated retryable_errors attribute, users can now define nuanced rules for how Terragrunt should handle errors encountered while orchestrating OpenTofu/Terraform using a new errors configuration block.

Retried Error Demo

The errors block provides more control over error handling, including the ability to ignore errors, rather than only retrying them.

Ignored Error Demo

Learn More

You can learn more about these capabilities here.

Updated Logging

Terragrunt logging has gotten a glow-up 💅.

Logging

Default logging UI/UX has been improved, and users now have much more control over exactly how Terragrunt logs.

You can learn more about the updated logging here.

Updating Terragrunt’s Getting Started Guide

The Getting Started guide has been revamped making it easier than ever to get started with Terragrunt!

Getting Started Guide Refresh

You can follow the updated guide here.

If you’re experienced with Terragrunt, consider sharing this with any friends and colleagues that might need help getting started and give us a star on GitHub

DevOps News

OpenTofu 1.9

OpenTofu has released version 1.9. Major feature highlights include (from the OpenTofu release notes and blog post):

  • for_each in provider configuration blocks: An alternate (aka "aliased") provider configuration can now have multiple dynamically-chosen instances using the for_each argument:
provider "aws" {
alias    = "by_region"
for_each = var.aws_regions
region = each.key
}
  • -exclude planning option: similar to -target, this allows operators to tell OpenTofu to work on only a subset of the objects declared in the configuration or tracked in the state.
tofu plan -exclude=kubernetes_manifest.crds

While -target specifies the objects to include and skips everything not needed for the selected objects, -exclude instead specifies objects to skip. OpenTofu will exclude the selected objects and everything that depends on them.

AWS re:Invent 2024

Incase you missed it, AWS re:Invent took place the first week of December in Las Vegas. AWS posted a summary, here are some key announcements we recommend you check out: