You've found HangOps friendly Chat Robot Hangbot
Hangbot will now run within a docker container. If you do this, you will need to rm -r node_modules
as the locally installed modules will often conflict with the Docker (linux) runtime.
- Edit
.env
to fit your needs, it defaults to a docker-compose redis instance.cp .env.sample .env
would be a fine places to start modifying $ENV to suit your needs cp docker-compose.override{.example,}.yml docker-compose.yml
combined with step one will help you get your container up with your custom ENV- Then you can run either:
make run
to run a real hangbot instance, connected to slack, your slack token is required to be set in.env
make interactive
or simplymake
to run in interactive mode, which does not connect to slack.
This will build absolutely everything you'll need to run an EKS cluster, it was borrowed almost entirely from: https://learn.hashicorp.com/terraform/aws/eks-intro - its assumed you know enough to get an EKS cluster running
- If you have tfenv setup do:
tfenv install 0.11.11
andtfenv use 0.11.11
terraform init
terraform plan --out tfenv.plan
terraform apply
Presuming you've got an EKS cluster setup and working, you can get things kicked off by setting an ENVAR for HUBOT_SLACK_TOKEN
on your deployment machine.
Next, do something like this: kubectl create secret generic hangbot-secret --from-literal=HUBOT_SLACK_TOKEN=<your-slack-token>
Now let's deploy!
kubectl apply -f redis-deployment.yaml
kubectl apply -f app-deployment.yaml
- verify its running!
kubectl get pods
Should look like this!
your@machine:~$ kubectl get pods
NAME READY STATUS RESTARTS AGE
hangbot-6fc4b6d85b-m4tjb 1/1 Running 0 14s
redis-7977ffc58f-v6wrg 1/1 Running 0 6s
Hope into your Slack and give it a whirl:
gdoc @yourusername
should spit back the reminder!