SlackAWS is an example project for using a Slackbot to control AWS resources. Slackbot commands are sent to an AWS API Gateway, which passes execution to a Lambda function.
SlackAWS uses the Serverless application framework and Slack Lambda Router
- Resize auto-scaling group and create Redis cache cluster
- Terminate Redis cluster and downsize ASG
- Query for the status of computing resources
- Trigger an application deploy from Slack to OpsWorks
Install The Serverless Framework via npm: (requires Node V4)
npm install [email protected] -g
Clone SlackAWS project
git clone https://github.com/btsuhako/slackaws
Make note of the API Gateway URL after running the following command:
serverless stage create
Refer to Slack documentation to create a slash command and make note of the Slack verification token.
serverless variables set -k SLACK_VERIFICATION_TOKEN -v your-slack-verification-token
serverless dash deploy
Be sure to deploy all necessary endpoints and functions.
Now you can invoke your Slackbot in Slack!
/my-slash-command help
/my-slash-command servers start
/my-slash-command servers stop
/my-slash-command servers status
/my-slash-command deploy my_stack my_app