Skip to main content
Home

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
This package works with Node.js
This package works with Deno
This package works with Bun
JSR Score
70%
Published
2 years ago (0.7.0)

Terragrunt Pipeline

fluentci pipeline deno compatibility

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

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@fluentci/terragrunt

Import symbol

import * as terragrunt from "@fluentci/terragrunt";
or

Import directly with a jsr specifier

import * as terragrunt from "jsr:@fluentci/terragrunt";

Add Package

pnpm i jsr:@fluentci/terragrunt
or (using pnpm 10.8 or older)
pnpm dlx jsr add @fluentci/terragrunt

Import symbol

import * as terragrunt from "@fluentci/terragrunt";

Add Package

yarn add jsr:@fluentci/terragrunt
or (using Yarn 4.8 or older)
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";