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

Uploaded Source

Built Distributions

terraform_worker-0.5.2-py3.8.egg (138.1 kB view details)

Uploaded Source

terraform_worker-0.5.2-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: terraform-worker-0.5.2.tar.gz
  • Upload date:
  • Size: 18.7 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.5.2.tar.gz
Algorithm Hash digest
SHA256 477252216dc129d6d4b4ae41a7179faa515c20bd45600bc54edf4716f070c984
MD5 4f2124e51ae79cd032bdc7698105e5f8
BLAKE2b-256 995f8e9f3921994e61a7dbc5e44d8ced3cd50fde5577620d78d2cf1cedab0ae4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: terraform_worker-0.5.2-py3.8.egg
  • Upload date:
  • Size: 138.1 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.5.2-py3.8.egg
Algorithm Hash digest
SHA256 924ebe23d734bf25baa65a4f256376f6620e3394041b867f7096c3a6e44b4eab
MD5 51d3bceb0a3b17edfc49d9f0edd1b543
BLAKE2b-256 a0ee1d7904a91fcb47b882b9fe31f3811869a7f4c8d2e4176c1907194ffb2da2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: terraform_worker-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 37.6 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.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 50f6eb0bacabd1d982fa515d885824977cfb9a39248a814277482a9575c70279
MD5 0c40552bad077bf5c450798f140f1626
BLAKE2b-256 786f06c6bfca9c830c2559015d495fb8125b741d82ba441b6d54a60ef27aef9f

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