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.
.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 needscp docker-compose.override{.example,}.yml docker-compose.yml
combined with step one will help you get your container up with your custom ENVmake run
to run a real hangbot instance, connected to slack, your slack token is required to be set in .env
make interactive
or simply make
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
tfenv install 0.11.11
and tfenv 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
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!