Skip to main content

A Terragrunt rapid development tool to simplify overriding the source parameter in a terraform.tfvars file.

Project description

Project description

A Terragrunt rapid development tool to simplify overriding the source parameter in a terraform.tfvars file.

Introduction

terragrunt-source is a simple script that parses the source line from the terraform.tfvars file in the current working directory producing a path to a local source tree that can be used by terragrunt during development. The path to the local source tree is looked up in the environment variable TERRAGRUNT_DEFAULT_MODULES_REPO.

This is best illustrated be an example. If you are in a directory that contains a terraform.tfvars file with the following content:

terragrunt = {
  include {
    path = "${find_in_parent_folders()}"
  }

  terraform {
    source = "git::git@github.com:org/repo.git//lambda?ref=v0.6.2"
  }
}

And if TERRAGRUNT_DEFAULT_MODULES_REPO is set to /usr/src/modules then then we expect the following output:

$ terragrunt-source
/usr/src/modules//lambda

Then we can use terragrunt like so:

$ terragrunt plan --terragrunt-source `terragrunt-source`

Another way this can be run is as follows:

$ TERRAGRUNT_SOURCE=`terragrunt-source` terragrunt plan

Quick start

  1. Install terragrunt-source:

    $ pip install terragrunt-source
  2. Append the following to your ~/.bashrc:

    export TERRAGRUNT_DEFAULT_MODULES_REPO=/path/to/your/checked/out/code
    
    terragrunt-source() {
        TERRAGRUNT_SOURCE=$($(which terragrunt-source)) terragrunt $@
    }
  3. Reload your ~/.bashrc:

    $ source ~/.bashrc
  4. Change to a Terragrunt configuration directory:

    $ terragrunt-source plan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

terragrunt_source-0.1.0a3-py2.py3-none-any.whl (4.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file terragrunt_source-0.1.0a3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for terragrunt_source-0.1.0a3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 946aa530d965f597b676bd69d1c28a3bde7878705d6ed08c8ac68db47312b10d
MD5 104a7d42c19f88c84e8d50fb07076d0f
BLAKE2b-256 8923d92298c0f67562d4462cf357c9f2071babdb85a8cadfc5910c55b3a99149

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page