1.3.0 • Published 1 year ago

terragrunt-status v1.3.0

Weekly downloads
1
License
AGPL-3.0-only
Repository
-
Last release
1 year ago

terragrunt-status

CircleCI npm GitHub issues npm Depfu

terragrunt-status is a small script that tells you which stacks in Terragrunt are deployed, and if they are out of date.

A recording of terragrunt-status in use

What it can do

  • When ran in a folder containing Terragrunt-managed infrastructure, it will retrieve the dependency graph
  • It will then check the output of terragrunt state list in each folder to check if it is deployed
  • If the stack is deployed, it will check the output of terragrunt plan -detailed-exitcode -compact-warnings -refresh=false -lock=false to see if the stack code is up to date with the state. (Note: It does not refresh the statefile by default. This can be overridden with --refresh)
  • Will display this information

What it WILL do (eventually)

  • Show the information prettily
  • Will handle different edge-cases and errors from Terragrunt/Terraform
  • Will be able to generate apply-all and destroy-all commands that exclude deployed/non-deployed stacks (to work around issues like terragrunt-io/terragrunt#1394)

What it MIGHT do (if there's interest / if I end up needing it)

  • Optionally will be able to run things like terragrunt init if it's needed
  • Be able to iterate through stacks in order and run commands as a wrapper around Terragrunt
  • Maybe have a cool interactive CLI menu with tickboxes and stuff to choose stacks and then it'll do it in the right order with dependencies and stuff? I dunno I haven't thought that far ahead.

Installation

NPM

  • npm install -g terragrunt-status

Manual

  • git clone https://github.com/Makeshift/terragrunt-status
  • cd terragrunt-status
  • npm install --production (if you forget --production you'll be downloading a lot more packages!)
  • Run ./terragrunt-status.js <dir>

Usage

Usage: terragrunt-status [-h|--help] [--debug] [-r|--refresh] [-d|--deploy-order] [-x|--destroy-order] [<path_to_infrastructure>]

This tool describes the deployment status of multiple Terragrunt-managed Terrarform stacks.

Where:
  -h|    --help            Show this help text
----
  --debug                  Shows extra output
----
  -d     --deploy-order    Outputs a legal deploy order for the given stacks, then exits
  -x     --destroy-order   Outputs a legal destroy order for the given stacks, then exits
  -r     --refresh         Locks and refreshes statefiles (This will increase the time taken to get a result, but may be more accurate to the live deployment)
----
  <path_to_infrastructure> Path to your Terragrunt infrastructure definition - If not provided, assumed to be current working directory.

Note: If you're using aws-vault, you should run this script in an aws-vault session, with the command:
  aws-vault exec <profile> -- terragrunt-status.js

Known issues

  • The code is ugly and not particularly efficient (I wrote it in a hurry)
  • The output is pretty meh, but workable.
1.3.0

1 year ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago