Skip to main content

An orchestration tool for Terraform

Project description

terraform-worker

The terraform worker was a weekend project to run terraform against a series of definitions (modules). The idea was the configuration vars, provider configuration, remote state, and variables from remote state would all be dynamically generated. The purpose was for building kubernetes deployments, and allowing all of the configuration information to be stored as either yamnl files in github, or have the worker configuration generated by an API which stored all of the deployment configurations in a database.

Using the application

The application expected a mono-repo of terraform, that was broken up into two sections, definitions (which were really just top level modules) and sub-modules. The definitions are put into a worker config in order, with the terraform variables, and remote state variables.

This application has some specifics to the implementation that was being planned, so stores certain credentials in vault, and is perspective about where remote state is stored (DynamoDB in AWS). For the project that was being worked on, this weekend hack project was used as the basis for fully featured Go application that has similar (though much expanded) functionality.

A couple of items also rely on vault, such as SSH keys, and token signing roles and certificates. These are rather implementation specific.

Notes:

This code is uploaded just as a proof of concept to share different ways of working with terraform, and managing a set of terraform resources through the lifecycle. It's similar in nature to tools like terragrunt (though that's much more polished, though didn't fit our particular use case!) which aim to allow a set of terraform code to be made more modular and reusable across different environments.

This was built/designed around Terraform 0.11; 0.12 has some minor changes in configurations that would require updates.

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

terraform-worker-0.4.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distributions

terraform_worker-0.4.0-py3.8.egg (137.3 kB view details)

Uploaded Source

terraform_worker-0.4.0-py3.7.egg (135.5 kB view details)

Uploaded Source

terraform_worker-0.4.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file terraform-worker-0.4.0.tar.gz.

File metadata

  • Download URL: terraform-worker-0.4.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for terraform-worker-0.4.0.tar.gz
Algorithm Hash digest
SHA256 fff1d587fa1a9bf06cdf2fdacf1c6403a20b935490b2e5c8a8e1d478f7241e46
MD5 b5604cced6a71adbd8d717ed2c726eb1
BLAKE2b-256 09b34292440db070e816f8c08776bc4c454bc29e8b443b0c23408c9158fe8082

See more details on using hashes here.

File details

Details for the file terraform_worker-0.4.0-py3.8.egg.

File metadata

  • Download URL: terraform_worker-0.4.0-py3.8.egg
  • Upload date:
  • Size: 137.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.2

File hashes

Hashes for terraform_worker-0.4.0-py3.8.egg
Algorithm Hash digest
SHA256 3b5d58c944eae8858c026509b94ff2fbdf6f71c6efe4a30f6c6594a0bc7212dc
MD5 2f3d5261c0d71c39bed5c43916a25112
BLAKE2b-256 3358d7aa0df02e6094cb7047dd33fa94b1277e6e5b1aa69ee295084e8270ba3c

See more details on using hashes here.

File details

Details for the file terraform_worker-0.4.0-py3.7.egg.

File metadata

  • Download URL: terraform_worker-0.4.0-py3.7.egg
  • Upload date:
  • Size: 135.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.2

File hashes

Hashes for terraform_worker-0.4.0-py3.7.egg
Algorithm Hash digest
SHA256 071724a0ac40e1eed1050ac76dc00b6a2c9415b8a7c81577f5a219fc0fcf1d29
MD5 3bd609152c4636331090ec0e9bf171f2
BLAKE2b-256 a1747ac1060519087c896ea40dcbb356e51575ee12e3f342f55c5a893e7546fe

See more details on using hashes here.

File details

Details for the file terraform_worker-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: terraform_worker-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for terraform_worker-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 531e9bde5a7a9950007a92437870babdf03a9d03825a32594f26a02afc69f5b4
MD5 00bbad52ffc43db5d24a2fc452487368
BLAKE2b-256 c24f2145a09a2f15284c9ef80c42d263b1e4b30e24d431da8306c89852d9aeac

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