Skip to main content

An orchestration tool for Terraform

Project description

terraform-worker

terraform-worker is a command line tool for pipelining terraform operations while sharing state between them. The worker consumese a yaml configuration file which is 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. Following is a sample configuration file and command:

./worker.yaml

terraform:
  providers:
    aws:
      vars:
        region: //aws-region//
        version: "~> 2.61"

  # global level variables
  terraform_vars:
    region: //aws-region//
    environment: dev

  definitions:
    # Either setup a VPC and resources, or deploy into an existing one
    network:
      path: /definitions/aws/network-existing

    database:
      path: /definitions/aws/rds

  plugins:
    aws:
      version: 2.61.0
% worker --aws-profile default --backend s3 terraform --show-output example1

Development

 # virtualenv setup stuf... and then:
 % pip install poetry && make init

Background

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.

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.7.2.tar.gz (20.7 kB view details)

Uploaded Source

Built Distributions

terraform_worker-0.7.2-py3.8.egg (72.8 kB view details)

Uploaded Source

terraform_worker-0.7.2-py3-none-any.whl (40.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: terraform-worker-0.7.2.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for terraform-worker-0.7.2.tar.gz
Algorithm Hash digest
SHA256 872ade750a3758524964c3bc806647a4159f45f3c14fa68f41a50f50963405be
MD5 c8860fa25aff1862c946a0b4b75a5b84
BLAKE2b-256 626f052e0599361e94d2c51609fea9b5bca17dfe43606bef8b543d514eb58f9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: terraform_worker-0.7.2-py3.8.egg
  • Upload date:
  • Size: 72.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for terraform_worker-0.7.2-py3.8.egg
Algorithm Hash digest
SHA256 3e2a5f851c39e0c016862c36c9f4b0e1ab1ef77466ef6f7b09528a8d71fafa50
MD5 c99d720056138536e2f9f11ddd04edcb
BLAKE2b-256 96ee5d91590bbb1df538bf261e11e233fcaf0a82f7bd0db26497a8d53a6f123f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: terraform_worker-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 40.4 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.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 17e7513392fc5dd17712e9f2c20b4d2ba4431b274330c14a1be7cf5d272d6b59
MD5 5a0595f64874ad05f524f39a374f49a9
BLAKE2b-256 c38bf402a8a918c68ef3cdcc93740521c4a9a683358745ce8edb8068716e8c22

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