Skip to main content

Pipelines Configurations

note

Pipelines configurations are currently undergoing a transition from YAML configurations to new HCL Configurations as Code. These new configurations will offer a richer configuration experience, but are not yet required for use. YAML configurations will continue to work as expected for the time being.

YAML configurations are read by Pipelines when HCL configurations are not present, and the Pipelines binary falls back to interpreting YAML configurations as if they were defined in the HCL configuration system in this scenario.

This means that if you have a .gruntwork/config.yml file in your repository, you can continue to use it as you have been, and Pipelines will continue to work as expected.

If you do introduce any HCL configurations into your .gruntwork directory or introduce a gruntwork.hcl file into a directory, Pipelines will begin to use the HCL configuration system instead of the YAML configuration system.

Pipelines behavior is primarily configured via a yaml file at .gruntwork/config.yml in your repository. Pipelines also reads .mise.toml at the root of the repository to determine what version of OpenTofu/Terraform and Terragrunt to use.

Example Mise Configuration​

./.mise.toml

[tools]
opentofu = "1.7.2"
terragrunt = "0.67.16"
awscli = "latest"

Pipelines Configuration Options​

Configurations for ./.gruntwork/config.yml:

pipelines Options​

The below options are all nested under the pipelines key in the config.yml file.

consolidate-added-or-changed​

When set to true enables consolidating added and changed units such that dependencies are respected.

true
Example
pipelines:
consolidate-added-or-changed: false

consolidate-deleted​

consolidate-deletedbooleanoptional

When set to true enables consolidating deleted units such that dependencies are respected. This is disabled by default as it may result in unexpected deletions.

false
Example
pipelines:
consolidate-deleted: true

deploy-branch-name​

deploy-branch-namestringrequired

The branch in this repository where IaC changes will be applied. Typically this is the default branch.

Example
pipelines:
deploy-branch-name: main

env​

envsequence(mapping)optional

(Optional) additional env vars to set for pipelines executions, e.g. TF_VAR or TERRAGRUNT_ values to customize the Terragrunt/Terraform/Opentofu run.

Example
pipelines:
env:
- name: TERRAGRUNT_PARALLELISM
value: 10
- name: CUSTOM_ENVVAR
value: SOME_DATA

is-access-control-repo​

is-access-control-repobooleanoptional

Only set to true for infrastructure-live-access-control

Example
pipelines:
is-access-control-repo: true

is-delegated-repo​

is-delegated-repobooleanoptional

Only set to true for infrastructure-live-access-control and enterprise delegated (vended) repositories from account factory

Example
pipelines:
is-delegated-repo: true

session-duration​

session-durationnumberoptional

Duration in seconds for each session Terragrunt assumes in AWS during plans and applies.

3600
Example
pipelines:
session-duration: 3600

tf-binary​

tf-binarystringoptional

The IaC runtime binary, valid options are opentofu or terraform.

opentofu
Example
pipelines:
tf-binary: opentofu

ignore-list​

ignore-liststringrequired

A comma separate list of ignore filters to exclude from pipelines runs. See the full documentation here

Example
pipelines:
ignore-list: README.md,**/README.md

Deprecated Configuration Options​

enable-terragrunt-provider-cache​

Enables the Terragrunt Provider Cache for plans and applies.

This option is deprecated in favor of setting TERRAGRUNT_PROVIDER_CACHE as an env option.

false
Example
pipelines:
enable-terragrunt-provider-cache: true

cli-version​

cli-versionstringdeprecated

Pipelines CLI version - no longer used as this is determined by the pipelines workflow version

repo-allow-list​

repo-allow-listarray[string]required(deprecated)

No longer used but still required and should be set to the example. Will be fully removed in a later version of pipelines.

Example
repo-allow-list:
- "."

terraform-version​

terraform-versionstringdeprecated

Terraform version to use for plans and applies. Will be used if mise configuration is not present, but should removed in favor of mise configuration.

terragrunt-version​

terragrunt-versionstringdeprecated

Terragrunt version to use for plans and applies. Will be used if mise configuration is not present, but should removed in favor of mise configuration.

tofu-version​

tofu-versionstringdeprecated

OpenTofu version to use for plans and applies. Will be used if mise configuration is not present, but should removed in favor of mise configuration.