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.
In hubot project repository, run:
npm install hubot-terraform --save
Then add hubot-terraform to your external-scripts.json
:
[ "hubot-terraform" ]
hubot-terraform
is configured with 4 environment variables:
TERRAFORM_API__PROJECT
is theterraform-api
project usedTERRAFORM_API__WORKSPACE
is theterraform-api
workspace usedTERRAFORM_API__ENDPOINT_URL
isterraform-api
URLTERRAFORM_API__APIKEY
isterraform-api
API Key used to connect
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*
You can access hubot-terraform
from:
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>
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.