Metadata-Version: 2.1
Name: terragrunt-source
Version: 0.1.0a3
Summary: A Terragrunt rapid development tool to simplify overriding the source parameter in a terraform.tfvars file.
Home-page: https://github.com/ddriddle/terragrunt-source
Author: David D. Riddle
Author-email: ddriddle@illinois.edu
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/ddriddle/terragrunt-source/issues
Project-URL: Source, https://github.com/ddriddle/terragrunt-source
Keywords: terragrunt terraform source
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.1
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=2.6
Requires-Dist: pyhcl
Requires-Dist: future; python_version < "3"

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


