Skip to main content

A Terraform commentator.

Project description

terratalk

build and publish Coverage Status PyPI PyPI - Downloads License

Terratalk is a simple tool to add an opinionated terraform plan output into your pull-request as a comment. This allows you to have a quick feedback on infrastructure changes without having to leave the context of your pull-request view.

Setup

Prerequisite

This tool relies on either Bitbucket Branch Source or GitHub Branch Source to be installed as a plugin on your Jenkins. Alternatively you can set the environment variable CHANGE_URL to the URL of the pull-request which will allow terratalk to construct the proper API request to your SCM.

GitLab is currently only supported from gitlab-pipelines.

Installation

On the build agent, install terratalk:

$ pip install --user terratalk

If you are using GitHub you will additionally need to install the following:

$ pip install --user PyGithub

If you are using GitLab you will additionally need to install the following:

$ pip install --user python-gitlab

Running

Execute in the same directory, optionally with the same TF_DATA_DIR as you would normally run terraform. If you use tfenv that will work as well.

$ terraform plan -out WORKSPACE.plan
$ terratalk comment -w WORKSPACE

Supported environment variables

Bitbucket Server

  • STASH_USER
  • STASH_PASS

Bitbucket Cloud

  • BITBUCKET_USERNAME
  • BITBUCKET_APP_PASSWORD

GitHub

  • GITHUB_TOKEN

GitLab

  • GITLAB_TOKEN

Results

terratalk on Bitbucket Server

License

MIT

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

terratalk-0.4.1.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

terratalk-0.4.1-py3-none-any.whl (8.1 kB view hashes)

Uploaded Python 3

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