@fluentci/terragrunt@0.7.0Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
A ready-to-use CI/CD Pipeline for managing your infrastructure with Terragrunt.
This package works with Node.js, Deno, Bun


JSR Score
70%
Published
2 years ago (0.7.0)
Terragrunt Pipeline
A ready-to-use CI/CD Pipeline for managing your infrastructure with Terragrunt.
🚀 Usage
Run the following command in your project:
fluentci run terragrunt_pipeline
Or, if you want to use it as a template:
fluentci init -t terragrunt
This will create a .fluentci folder in your project.
Now you can run the pipeline with:
fluentci run .
Dagger Module
Use as a Dagger module:
dagger mod install github.com/fluent-ci-templates/terragrunt-pipeline@mod
Environment variables
| Variable | Description |
|---|---|
| TERRAGRUNT_CONFIG | The path to the Terragrunt config file. Default is terragrunt.hcl. |
| TERRAGRUNT_DEBUG | Write terragrunt-debug.tfvars to working folder to help root-cause issues. |
| TERRAGRUNT_DISABLE_BUCKET_UPDATE | When this flag is set Terragrunt will not update the remote state bucket. |
| TERRAGRUNT_DOWNLOAD | The path where to download Terraform code. Default is .terragrunt-cache in the working directory. |
| TERRAGRUNT_EXCLUDE_DIR | Unix-style glob of directories to exclude when running *-all commands. |
| TERRAGRUNT_FAIL_ON_STATE_BUCKET_CREATION | When this flag is set Terragrunt will fail if the remote state bucket needs to be created. |
| TERRAGRUNT_FETCH_DEPENDENCY_OUTPUT_FROM_STATE | The option fetchs dependency output directly from the state file instead of init dependencies and running terraform on them. |
| TERRAGRUNT_IAM_ASSUME_ROLE_DURATION | Session duration for IAM Assume Role session. Can also be set via the TERRAGRUNT_IAM_ASSUME_ROLE_DURATION environment variable. |
| TERRAGRUNT_IAM_ASSUME_ROLE_SESSION_NAME | Name for the IAM Assummed Role session. Can also be set via TERRAGRUNT_IAM_ASSUME_ROLE_SESSION_NAME environment variable. |
| TERRAGRUNT_IAM_ROLE | Assume the specified IAM role before executing Terraform. Can also be set via the TERRAGRUNT_IAM_ROLE environment variable. |
| TERRAGRUNT_INCLUDE_EXTERNAL_DEPENDENCIES | *-all commands will include external dependencies |
| TERRAGRUNT_INCLUDE_MODULE_PREFIX | When this flag is set output from Terraform sub-commands is prefixed with module path. |
| TERRAGRUNT_LOG_LEVEL | Sets the logging level for Terragrunt. Supported levels: panic, fatal, error, warn, info, debug, trace. (default: info) |
| TERRAGRUNT_NO_AUTO_APPROVE | Don't automatically append -auto-approve to the underlying Terraform commands run with 'run-all'. (default: true) |
| TERRAGRUNT_NO_AUTO_INIT | Don't automatically run 'terraform init' during other terragrunt commands. You must run 'terragrunt init' manually. (default: true) |
| TERRAGRUNT_NO_AUTO_RETRY | Don't automatically re-run command in case of transient errors. (default: true) |
| TERRAGRUNT_NO_COLOR | If specified, Terragrunt output won't contain any color. |
| TERRAGRUNT_NON_INTERACTIVE | Assume "yes" for all prompts. |
| TERRAGRUNT_PARALLELISM | *-all commands parallelism set to at most N modules (default: 2147483647) |
| TERRAGRUNT_SOURCE | Download Terraform configurations from the specified source into a temporary folder, and run Terraform in that temporary folder. |
| TERRAGRUNT_SOURCE_MAP | Replace any source URL (including the source URL of a config pulled in with dependency blocks) that has root source with dest. |
| TERRAGRUNT_SOURCE_UPDATE | Delete the contents of the temporary folder to clear out any old, cached source code before downloading new source code into it. |
| TERRAGRUNT_TFPATH | Path to the Terraform binary. Default is terraform (on PATH). (default: terraform) |
| TERRAGRUNT_USE_PARTIAL_PARSE_CONFIG_CACHE | Enables caching of includes during partial parsing operations. Will also be used for the --terragrunt-iam-role option if provided. |
| TERRAGRUNT_WORKING_DIR | The path to the Terraform templates. Default is current directory. |
Jobs
| Job | Description |
|---|---|
| validate | Validate the configuration files |
| apply | Apply infrastructure changes |
apply( src: Directory | string, tfVersion?: string ): Promise<string> validate( src: Directory | string, tfVersion?: string ): Promise<string>
Programmatic usage
You can also use this pipeline programmatically:
import { validate, apply } from "@fluentci/terragrunt"; await validate("."); await apply(".");
Built and signed on
GitHub Actions
Add Package
deno add jsr:@fluentci/terragrunt
Import symbol
import * as terragrunt from "@fluentci/terragrunt";
Import directly with a jsr specifier
import * as terragrunt from "jsr:@fluentci/terragrunt";
Add Package
pnpm i jsr:@fluentci/terragrunt
pnpm dlx jsr add @fluentci/terragrunt
Import symbol
import * as terragrunt from "@fluentci/terragrunt";
Add Package
yarn add jsr:@fluentci/terragrunt
yarn dlx jsr add @fluentci/terragrunt
Import symbol
import * as terragrunt from "@fluentci/terragrunt";
Add Package
vlt install jsr:@fluentci/terragrunt
Import symbol
import * as terragrunt from "@fluentci/terragrunt";
Add Package
npx jsr add @fluentci/terragrunt
Import symbol
import * as terragrunt from "@fluentci/terragrunt";
Add Package
bunx jsr add @fluentci/terragrunt
Import symbol
import * as terragrunt from "@fluentci/terragrunt";