Skip to main content

Feature Flags

Pipelines supports optional feature flags that allow you to enable or disable specific behaviors. You can configure these flags by setting them as environment variables within your HCL or YAML configuration files.

Available Flags

PIPELINES_FEATURE_EXPERIMENT_ALL

  • Enables all Pipelines experiment flags.

  • Default Value: Disabled

  • How to Enable: Set to "true"

PIPELINES_FEATURE_EXPERIMENT_AGGRESSIVE_CONSOLIDATION

  • Enables Pipelines to consolidate as many Terragrunt plan/apply changes as possible into a single run-all job. This leads to less duplicated work e.g. when both FileChanged and a EnvCommonChanged should trigger a plan in the same unit. When consolidate_added_or_changed is enabled this will include Module Changed / Added jobs.

    This behavior will likely become the default in a major release of Pipelines but is currently opt-in due to being a breaking change to functionality.

  • Default Value: Disabled

  • How to Enable: Set to "true"

PIPELINES_FEATURE_EXPERIMENT_COLOCATED_FILE_UNIT_CHANGE_DETECTION

  • Enables changes to files within a Terragrunt Unit to be detected as a ModuleChanged job instead of a FileChanged job. A Terragrunt Unit is any directory excluding the root of the repository containing a terragrunt.hcl file.

    E.g. given a repository containing the following files:

    tags.yml
    dir1/terragrunt.hcl
    dir1/myvars.json

    When this flag is enabled Pipelines will detect changes to dir1/myvars.json as a ModuleChanged for dir1 and run Terragrunt Plan/Apply for this directory. While tags.yml will be detected as as a FileChanged event and Pipelines will run Terragrunt with queue-include-units-reading for this file.

    This behavior will likely become the default in a major release of Pipelines but is currently opt-in due to being a breaking change to functionality.

  • Default Value: Disabled

  • How to Enable: Set to "true"

PIPELINES_FEATURE_EXPERIMENT_MINIMIZE_BLAST_RADIUS

  • Enables Terragrunt features to reduce the potential changes during a run-all. Terragrunt queue-strict-include and queue-exclude-external are enabled by default which excludes dependencies from being planned/applied during run-all, and more closely matches the behavior of a single unit change.

    This behavior will likely become the default in a major release of Pipelines but is currently opt-in due to being a breaking change to functionality.

  • Default Value: Disabled

  • How to Enable: Set to "true"

PIPELINES_FEATURE_TERRAGRUNT_INCLUDE_UNITS_READING

  • Enables FileChanged jobs where changes to non HCL files trigger Terragrunt runs using queue-include-units-reading.

    This is a break-glass feature flag and can be used to disable this functionality if it is causing issues.

  • Default Value: Enabled if the detected Terragrunt version supports queue-include-units-reading

  • How to Disable: Set to "false"

PIPELINES_FEATURE_TERRAGRUNT_STACK_GENERATE

  • Enables native Terragrunt stack support using commands like terragrunt stack generate.

    This is a break-glass feature flag and can be used to disable this functionality if it is causing issues.

  • Default Value: Enabled if the detected Terragrunt version supports stacks

  • How to Disable: Set to "false"