Hubot script that interacts with the Terraform API
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
killmonger
script
src
terraform-api
test
.gitignore
.npmignore
.travis.yml
CODE_OF_CONDUCT.md
LICENSE
README.md
index.js
package.json

README.md

hubot-terraform

Hubot Terraform Package Quality

A hubot script to interact with the Terraform API and allows to run terraform projects/workspace from hubot. Refer to terraform-api if you want to know more about the API.

See src/terraform.js for full documentation.

Installation

In hubot project repository, run:

npm install hubot-terraform --save

Then add hubot-terraform to your external-scripts.json:

[ "hubot-terraform" ]

Configuring

hubot-terraform is configured with 4 environment variables:

  • TERRAFORM_API__PROJECT is the terraform-api project used
  • TERRAFORM_API__WORKSPACE is the terraform-api workspace used
  • TERRAFORM_API__ENDPOINT_URL is terraform-api URL
  • TERRAFORM_API__APIKEY is terraform-api API Key used to connect

How to use the script

In order to trigger the script, you shoud run terraform <VERB> like below:

hubot> terraform help
hubot> The list of commands you can use is *apply*, *appversion*,
  *branch*, *branches*, *check*, *clean*, *destroy*, *help*, *hi*,
  *logs*, *quickcheck*, *show*, *tag*, *tags* or *version*

Repositories:

You can access hubot-terraform from:

A simple way to test Hubot-Terraform from the Shell

If you have cloned the git repository, you can easily test hubot in shell/interactive mode. In order to do it, run the docker-compose.yml to start a sample terraform API and run the killmonger script:

cd terraform-api
docker-compose up -d

cd ../killmonger
bin/killmonger

You should be able to interact with a simple command like below:

killmonger> killmonger terraform help
killmonger> Shell: The list of command you can use is *apply*, 
  *appversion*, *branch*, *branches*, *check*, *clean*, *destroy*,
  *help*, *hi*, *logs*, *quickcheck*, *show*, *tag*, *tags* or 
  *version*

killmonger> 

A simple way to test Hubot-Terraform from Slack

If you have cloned the git repository, you can easily test hubot with Slack. In order to do it, make sure you've created a Hubot application from Hubot Slack, note the Hubot Slack Token that starts by xoxb-; add it to the .env file in the killmonger directory and run the docker-compose.yml to start a sample terraform API. To start your bot, run the slack.sh script:

cd terraform-api
docker-compose up -d

cd ../killmonger

# Change the token to match your
echo "export HUBOT_SLACK_TOKEN=xoxb-000000000000-xxxxxxxxxxxxxxxxxxxxxxxxx" >.env

./slack.sh

You should be able to interact with you bot in Slack.