terragrunt

command module
v0.99.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2026 License: MIT Imports: 11 Imported by: 0

README

Terragrunt

Maintained by Gruntwork.io Go Report Card GoDoc OpenTofu Version Terraform Version

Terragrunt is a flexible orchestration tool that allows Infrastructure as Code written in OpenTofu/Terraform to scale.

Please see the following for more info, including install instructions and complete documentation:

Join the Discord!

Join our community for discussions, support, and contributions:

License

This code is released under the MIT License. See LICENSE.txt.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
awshelper
Package awshelper provides helper functions for working with AWS services.
Package awshelper provides helper functions for working with AWS services.
cache
Package cache provides generic cache.
Package cache provides generic cache.
cas
Package cas implements a content-addressable storage for git content.
Package cas implements a content-addressable storage for git content.
cli
Package cli configures the Terragrunt CLI app and its commands.
Package cli configures the Terragrunt CLI app and its commands.
cli/commands
Package commands represents CLI commands.
Package commands represents CLI commands.
cli/commands/aws-provider-patch
Package awsproviderpatch provides the `aws-provider-patch` command.
Package awsproviderpatch provides the `aws-provider-patch` command.
cli/commands/backend
Package backend provides commands for interacting with remote backends.
Package backend provides commands for interacting with remote backends.
cli/commands/backend/bootstrap
Package bootstrap provides the ability to initialize remote state backend.
Package bootstrap provides the ability to initialize remote state backend.
cli/commands/backend/delete
Package delete provides the ability to remove remote state files/buckets.
Package delete provides the ability to remove remote state files/buckets.
cli/commands/backend/migrate
Package migrate provides the ability to bootstrap remote state backend.
Package migrate provides the ability to bootstrap remote state backend.
cli/commands/catalog
Package catalog provides the ability to interact with a catalog of OpenTofu/Terraform modules via the `terragrunt catalog` command.
Package catalog provides the ability to interact with a catalog of OpenTofu/Terraform modules via the `terragrunt catalog` command.
cli/commands/catalog/tui
Package tui provides a text-based user interface for the Terragrunt catalog command.
Package tui provides a text-based user interface for the Terragrunt catalog command.
cli/commands/catalog/tui/command
Package command provides the implementation of the terragrunt scaffold command This command is used to scaffold a new Terragrunt unit in the current directory.
Package command provides the implementation of the terragrunt scaffold command This command is used to scaffold a new Terragrunt unit in the current directory.
cli/commands/catalog/tui/components/buttonbar
Package buttonbar provides a bubbletea component that displays an inline list of buttons.
Package buttonbar provides a bubbletea component that displays an inline list of buttons.
cli/commands/dag
Package dag implements the dag command to interact with the Directed Acyclic Graph (DAG).
Package dag implements the dag command to interact with the Directed Acyclic Graph (DAG).
cli/commands/dag/graph
Package graph implements the terragrunt dag graph command which generates a visual representation of the Terragrunt dependency graph in DOT language format.
Package graph implements the terragrunt dag graph command which generates a visual representation of the Terragrunt dependency graph in DOT language format.
cli/commands/exec
Package exec provides the ability to execute a command using Terragrunt, via the `terragrunt exec -- command_name` command.
Package exec provides the ability to execute a command using Terragrunt, via the `terragrunt exec -- command_name` command.
cli/commands/find
Package find provides the ability to find Terragrunt configurations in your codebase via the `terragrunt find` command.
Package find provides the ability to find Terragrunt configurations in your codebase via the `terragrunt find` command.
cli/commands/hcl
Package hcl provides commands for formatting and validating HCL configurations.
Package hcl provides commands for formatting and validating HCL configurations.
cli/commands/hcl/format
Package format recursively looks for hcl files in the directory tree starting at workingDir, and formats them based on the language style guides provided by Hashicorp.
Package format recursively looks for hcl files in the directory tree starting at workingDir, and formats them based on the language style guides provided by Hashicorp.
cli/commands/hcl/validate
Package validate-inputs collects all the terraform variables defined in the target module, and the terragrunt inputs that are configured, and compare the two to determine if there are any unused inputs or undefined required inputs.
Package validate-inputs collects all the terraform variables defined in the target module, and the terragrunt inputs that are configured, and compare the two to determine if there are any unused inputs or undefined required inputs.
cli/commands/help
Package help represents the help CLI command that works the same as the `--help` flag.
Package help represents the help CLI command that works the same as the `--help` flag.
cli/commands/info
Package info represents list of info commands that display various Terragrunt settings.
Package info represents list of info commands that display various Terragrunt settings.
cli/commands/info/print
Package print implements the 'terragrunt info print' command that outputs Terragrunt context information in a structured JSON format.
Package print implements the 'terragrunt info print' command that outputs Terragrunt context information in a structured JSON format.
cli/commands/info/strict
Package strict represents CLI command that displays Terragrunt's strict control settings.
Package strict represents CLI command that displays Terragrunt's strict control settings.
cli/commands/list
Package list provides the ability to list Terragrunt configurations in your codebase via the `terragrunt list` command.
Package list provides the ability to list Terragrunt configurations in your codebase via the `terragrunt list` command.
cli/commands/render
Package render provides the command to render the final terragrunt config in various formats.
Package render provides the command to render the final terragrunt config in various formats.
cli/commands/run
Package run contains the CLI command definition for interacting with OpenTofu/Terraform.
Package run contains the CLI command definition for interacting with OpenTofu/Terraform.
cli/commands/scaffold
Package scaffold provides the command to scaffold a new Terragrunt module.
Package scaffold provides the command to scaffold a new Terragrunt module.
cli/commands/stack
Package stack provides the command to stack.
Package stack provides the command to stack.
cli/commands/version
Package version represents the version CLI command that works the same as the `--version` flag.
Package version represents the version CLI command that works the same as the `--version` flag.
cli/flags
Package flags provides tools that are used by all commands to create deprecation flags with strict controls.
Package flags provides tools that are used by all commands to create deprecation flags with strict controls.
cli/flags/global
Package global provides CLI global flags.
Package global provides CLI global flags.
cli/flags/shared
Package shared provides flags that are shared by multiple commands.
Package shared provides flags that are shared by multiple commands.
clihelper
Package clihelper provides the CLI framework for Terragrunt.
Package clihelper provides the CLI framework for Terragrunt.
cloner
Package cloner provides functions to deep clone any Go data.
Package cloner provides functions to deep clone any Go data.
codegen
Package codegen contains routines for generating terraform code
Package codegen contains routines for generating terraform code
component
Package component provides types for representing discovered Terragrunt components.
Package component provides types for representing discovered Terragrunt components.
ctyhelper
Package ctyhelper providers helpful tools for working with cty values.
Package ctyhelper providers helpful tools for working with cty values.
discovery
Package discovery provides functionality for discovering Terragrunt configurations.
Package discovery provides functionality for discovering Terragrunt configurations.
engine
Package engine provides the pluggable IaC engine for Terragrunt.
Package engine provides the pluggable IaC engine for Terragrunt.
errors
Package errors contains helper functions for wrapping errors with stack traces, stack output, and panic recovery.
Package errors contains helper functions for wrapping errors with stack traces, stack output, and panic recovery.
experiment
Package experiment provides utilities used by Terragrunt to support an "experiment" mode.
Package experiment provides utilities used by Terragrunt to support an "experiment" mode.
filter
Package filter provides a parser and evaluator for filter query strings used to select Terragrunt components.
Package filter provides a parser and evaluator for filter query strings used to select Terragrunt components.
gcphelper
Package gcphelper provides helper functions for working with GCP services.
Package gcphelper provides helper functions for working with GCP services.
git
Package git provides support for Git operations needed throughout the Terragrunt codebase.
Package git provides support for Git operations needed throughout the Terragrunt codebase.
github
Package github provides clients for interacting with the GitHub API and downloading GitHub releases.
Package github provides clients for interacting with the GitHub API and downloading GitHub releases.
hclhelper
Package hclhelper providers helpful tools for working with HCL values.
Package hclhelper providers helpful tools for working with HCL values.
locks
Package locks contains global locks used throughout Terragrunt.
Package locks contains global locks used throughout Terragrunt.
os/exec
Package exec runs external commands.
Package exec runs external commands.
os/signal
Package signal provides convenience methods for intercepting and handling OS signals.
Package signal provides convenience methods for intercepting and handling OS signals.
os/stdout
Package stdout provides utilities for working with stdout.
Package stdout provides utilities for working with stdout.
prepare
Package prepare provides functionality to prepare downloaded OpenTofu/Terraform source code for use with Terragrunt.
Package prepare provides functionality to prepare downloaded OpenTofu/Terraform source code for use with Terragrunt.
providercache
Package providercache provides initialization of the Terragrunt provider caching server for caching OpenTofu providers.
Package providercache provides initialization of the Terragrunt provider caching server for caching OpenTofu providers.
queue
Package queue provides a run queue implementation.
Package queue provides a run queue implementation.
remotestate
Package remotestate contains code for configuring remote state storage.
Package remotestate contains code for configuring remote state storage.
remotestate/backend
Package backend represents a backend for interacting with remote state.
Package backend represents a backend for interacting with remote state.
remotestate/backend/gcs
Package gcs represents GCS backend for interacting with remote state.
Package gcs represents GCS backend for interacting with remote state.
remotestate/backend/s3
Package s3 represents AWS S3 backend for interacting with remote state.
Package s3 represents AWS S3 backend for interacting with remote state.
report
Package report provides a mechanism for collecting data on runs and generating a reports and summaries on that data.
Package report provides a mechanism for collecting data on runs and generating a reports and summaries on that data.
runner
Package runner provides logic for applying Stacks and Units Terragrunt.
Package runner provides logic for applying Stacks and Units Terragrunt.
runner/common
Package common defines minimal runner interfaces to allow multiple implementations.
Package common defines minimal runner interfaces to allow multiple implementations.
runner/graph
Package graph implements the logic for running commands against the graph of dependencies for the unit in the current working directory.
Package graph implements the logic for running commands against the graph of dependencies for the unit in the current working directory.
runner/run
Package run provides the main entry point for running orchestrated runs.
Package run provides the main entry point for running orchestrated runs.
runner/run/creds
Package creds provides a way to obtain credentials through different providers and set them to `opts.Env`.
Package creds provides a way to obtain credentials through different providers and set them to `opts.Env`.
runner/run/creds/providers
Package providers defines the interface for a provider.
Package providers defines the interface for a provider.
runner/run/creds/providers/amazonsts
Package amazonsts provides a credentials provider that obtains credentials by making API requests to Amazon STS.
Package amazonsts provides a credentials provider that obtains credentials by making API requests to Amazon STS.
runner/run/creds/providers/externalcmd
Package externalcmd provides a provider that runs an external command that returns a json string with credentials.
Package externalcmd provides a provider that runs an external command that returns a json string with credentials.
runner/runall
Package runall implements the logic for running commands across all units in a stack.
Package runall implements the logic for running commands across all units in a stack.
runner/runcfg
Package runcfg provides configuration types for running terragrunt commands.
Package runcfg provides configuration types for running terragrunt commands.
runner/runnerpool
Package runnerpool provides a runner implementation based on a pool pattern for executing multiple units concurrently.
Package runnerpool provides a runner implementation based on a pool pattern for executing multiple units concurrently.
services/catalog
Package catalog provides the core functionality for the Terragrunt catalog command.
Package catalog provides the core functionality for the Terragrunt catalog command.
services/catalog/module
Package module provides a struct to represent an OpenTofu/Terraform module.
Package module provides a struct to represent an OpenTofu/Terraform module.
shell
Package shell provides functions to run shell commands and Terraform commands.
Package shell provides functions to run shell commands and Terraform commands.
stacks/clean
Package clean provides the logic for cleaning up stack configurations.
Package clean provides the logic for cleaning up stack configurations.
stacks/generate
Package generate provides functionality for generating stacks from stack files.
Package generate provides functionality for generating stacks from stack files.
stacks/output
Package output provides functionality for collecting and collating the unit outputs for all units in a stack hierarchy.
Package output provides functionality for collecting and collating the unit outputs for all units in a stack hierarchy.
strict
Package strict provides utilities used by Terragrunt to support a "strict" mode.
Package strict provides utilities used by Terragrunt to support a "strict" mode.
strict/controls
Package controls contains strict controls.
Package controls contains strict controls.
strict/view
Package view contains the rendering logic for printing strict controls.
Package view contains the rendering logic for printing strict controls.
strict/view/plaintext
Package plaintext implements the view.Render interface for displaying strict controls in plaintext format.
Package plaintext implements the view.Render interface for displaying strict controls in plaintext format.
telemetry
Package telemetry provides a way to collect telemetry from function execution - metrics and traces.
Package telemetry provides a way to collect telemetry from function execution - metrics and traces.
tf
Package tf contains functions and routines for interacting with OpenTofu/Terraform.
Package tf contains functions and routines for interacting with OpenTofu/Terraform.
tf/cache
Package cache provides a private OpenTofu/Terraform provider cache server.
Package cache provides a private OpenTofu/Terraform provider cache server.
tf/cache/controllers
Package controllers provides the implementation of the controller for the provider endpoints.
Package controllers provides the implementation of the controller for the provider endpoints.
tf/cache/handlers
Package handlers provides the interfaces and common implementations for handling provider requests.
Package handlers provides the interfaces and common implementations for handling provider requests.
tf/cache/helpers
Package helpers provides utility functions for working with HTTP requests and responses.
Package helpers provides utility functions for working with HTTP requests and responses.
tf/cache/middleware
Package middleware provides a set of middleware for the Terragrunt provider cache server.
Package middleware provides a set of middleware for the Terragrunt provider cache server.
tf/cache/models
Package models provides the data structures used to represent Terraform providers and their details.
Package models provides the data structures used to represent Terraform providers and their details.
tf/cache/router
Package router provides a simple wrapper around the echo framework to create a REST API.
Package router provides a simple wrapper around the echo framework to create a REST API.
tf/cache/services
Package services provides services that can be run in the background.
Package services provides services that can be run in the background.
tf/cliconfig
Package cliconfig provides methods to create an OpenTofu/Terraform CLI configuration file.
Package cliconfig provides methods to create an OpenTofu/Terraform CLI configuration file.
tf/getproviders
Package getproviders provides an interface for getting providers.
Package getproviders provides an interface for getting providers.
tf/getproviders/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
tflint
Package tflint embeds execution of tflint, which is under an MPL license, and you can find its source code at https://github.com/terraform-linters/tflint
Package tflint embeds execution of tflint, which is under an MPL license, and you can find its source code at https://github.com/terraform-linters/tflint
util
Package util provides utility functions for Terragrunt.
Package util provides utility functions for Terragrunt.
view
Package view contains the rendering logic for terragrunt.
Package view contains the rendering logic for terragrunt.
view/diagnostic
Package diagnostic provides a way to represent diagnostics in a way that can be easily marshalled to JSON.
Package diagnostic provides a way to represent diagnostics in a way that can be easily marshalled to JSON.
worker
Package worker provides a concurrent task execution system with a configurable number of workers.
Package worker provides a concurrent task execution system with a configurable number of workers.
worktrees
Package worktrees provides functionality for creating and managing Git worktrees for operating across multiple Git references.
Package worktrees provides functionality for creating and managing Git worktrees for operating across multiple Git references.
pkg
Package pkg is a collection of common libraries that are used across the application.
Package pkg is a collection of common libraries that are used across the application.
config
Package config provides functionality for parsing Terragrunt configuration files.
Package config provides functionality for parsing Terragrunt configuration files.
config/hclparse
Package hclparse provides a wrapper around the HCL2 parser to handle diagnostics and errors in a more user-friendly way.
Package hclparse provides a wrapper around the HCL2 parser to handle diagnostics and errors in a more user-friendly way.
log
Package log provides a leveled logger with structured logging support.
Package log provides a leveled logger with structured logging support.
log/format
Package format implements a custom format logs
Package format implements a custom format logs
log/format/options
Package options represents a set of placeholders options.
Package options represents a set of placeholders options.
log/format/placeholders
Package placeholders represents a set of placeholders for formatting various log values.
Package placeholders represents a set of placeholders for formatting various log values.
log/writer
Package writer provides a writer that redirects Write requests to configured logger and level.
Package writer provides a writer that redirects Write requests to configured logger and level.
options
Package options provides a set of options that configure the behavior of the Terragrunt program.
Package options provides a set of options that configure the behavior of the Terragrunt program.
Package test provides integration tests for Terragrunt.
Package test provides integration tests for Terragrunt.
benchmarks/helpers
Package helpers provides helper functions for the integration benchmarks.
Package helpers provides helper functions for the integration benchmarks.
helpers
Package helpers provides helper functions for tests.
Package helpers provides helper functions for tests.
helpers/logger
Package logger provides a convenient logger for tests.
Package logger provides a convenient logger for tests.
flake module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL