Welcome to Igor
Igor is an open source Slack-bot, built by Cloud 66. It is your very own personal assistant that operates on your stacks directly from the Slack chat window. Now, you can display the state of your stacks, perform deployments, and cancel them with simple commands like list
, deploy
, and cancel
.
Key features
- Manage your Cloud 66 stacks from Slack
- Easy to customise to your workflow
- Allows you to deploy specific services from specific stacks
- Custom activity webhook for your stack
- Allows you to display the state of your stacks for you or your team
- Open Source project
Quick install
Create a Slack bot
First thing you will need to do is to create your ChatOps bot on Slack.
- Go to https://my.slack.com/apps/A0F7YS25R-bots
- Go to
Add configuration
- Choose the name of your bot - the name will be required before each command
- Save the token for later
Once you have created your bot, you can invite it to any slack channel: /invite @bot-name
.
Download the app
You can install the app either from the Cloud 66 app store or from the docker-compose
From the Cloud66's app store:
- Go to https://app.cloud66.com/easydeploys
- Install the
Igor
app - Deploy the stack
- Click on
Browse
to access the web registration page for your bot and follow the instructions
or
From the docker-compose file:
- the docker-compose file is available here
Deregister
Go to the registration page from the Browse
of your Igor registration container and then click on deregister. You will have to restart your Igor container for the changes to take place.
Developing Igor
Feel free to contibute to Igor - it's an open source project available on Github!
https://github.com/cloud66/igor-bot
Documentation
In order to address Igor, you must call it by the Slack bot name you used, followed by the command you wish to run.
Here is an example :
igor deploy -s my-stack-name
Here is a list of all the operations you can do with Igor:
Commands :
deploy
: Deploy the specified stack - a stack is requiredcancel
: Remove the stack from the deployment queue - a stack is requiredlist
: List either all stacks, or a specific one
Flags :
--stack
|-s
: The exact name of the stack--environment
|-e
: The environment of the stack--services
|-v
: The name of a service in the stack--wait
|-w
: By default, if the stack is already deploying from Cloud 66, or Igor is waiting for a custom webhook URL, the deploy command will queue the stack for a later deploy. To avoid queuing, use-w false
Queue deployment
If you want igor to queue a deployment based on a custom webhook URL (for example, wait until the stack has no busy workers before deploying), you can use the igor-bot/config/config.yml
file.
Help
If Igor cannot connect to Slack
If you can't see your bot connected among the members of your channel on Slack it means the container running Igor ChatOps failed to launch - likely due to an incorrect slack token. You will need to redeploy your stack and set a valid one.
If Igor cannot connect to the Cloud 66 API
If you have successfully connected Igor to Slack but it cannot access Cloud 66, you may have set an incorrect Cloud 66 token. You can try updating your Cloud 66 token on the registration page.
If you get an error during registration
One possible reason for this is that the container does not have access to write to the host - if so, you can try setting the correct folder permissions.