Skip to main content

Configure, generate and apply Terraform modules to create and destroy Cloud Infrastructure

Project description

terragen

Terragen is a framework for generating and automatically applying Terraform modules to simplify the management of sophisticated Cloud Architectures

Key Features

  • Simplify the creation and destruction of infra across multiple accounts and regions, using one command
  • Fine grained CLI control, all config elements can be overridden on the CLI
  • View generated Terraform files before they are applied. Each run creates a timestamped output directory
  • Control common and app specific infra separately. Infra that is shared, eg VPCs, Databases can be controlled separately but still referenced by app specific infra
  • Create base config files you can "sub-class" for specific implementations, allows you to enforce config patterns across your estate
  • Boiler plate Terraform files, like config, tfvars automatically generated
  • Variable interpolation. You can lookup values from other config files.

Installing

Terragen can be installed via pip:

pip install terragen

ReadTheDocs

Full details on configuring and running Terragen on ReadTheDocs

Terragen Workspace

Terragen expects to be run in its own workspace containing its configuration and the Terraform modules you want to configure and apply.

Demo Commands

Once configured as defined in docs, Terragen is very powerful. Below we demonstrate some commands

Applying a Named Config

Terragen lets you define multiple apps and configs, just apply them by name

terragen --config-dir ./config --config-name sandbox

Specifying the environment we want to deploy to

Terragen lets you create the same infrastructure across multiple accounts by supplying the environment you want to deploy to

terragen --config-dir ./config build.environment=test

Debugging

Validate and resolve your config before you run it.

terragen -cd ./config --cfg job --resolve

Verbose debugging

You can enable verbose debug logging by passing the following:

terragen -cd ./config hydra.verbose=true

Project details


Download files

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

Source Distribution

terragen-0.2.0.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

terragen-0.2.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file terragen-0.2.0.tar.gz.

File metadata

  • Download URL: terragen-0.2.0.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for terragen-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b789a42df6cdafc37f48a088f25fa11480e73c6bd60aa0a7d2af2fa806efdf37
MD5 4020cf5e27cea230ebe73ac546bed5f5
BLAKE2b-256 66d7bce23761a3f044db71cd0b448d42694a90e399b7f3b3d8584fac243381a7

See more details on using hashes here.

File details

Details for the file terragen-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: terragen-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for terragen-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26b392e42c27fadaf13356f57be15de2c934fb54a60f580447b22bcc3408ab23
MD5 0ae3df03fdbca967355338ffac8b2487
BLAKE2b-256 076100f06ef0f43a325f35be059474d2aadd7434a9a1af095708b97a2456c25d

See more details on using hashes here.

Supported by

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