Chat bot able to speak natural language and markup, prompt to complete commands, and offer localized help. Configured with schema-validated YAML, features JWT authentication with granular RBAC, and SQL persistence. Listeners for common chat services, controllers for chat functions and devops tools, and inspired by the Kubernetes API.
The bot interacts through Discord and Slack, Github and Gitlab comments and webhooks, and a GraphQL API.
The getting started guide has more information on using the bot.
To build and run the bot locally, you will need make
, node
, and yarn
installed globally or a container with the
same.
Clone this repository:
> git clone git@github.com:ssube/isolex.git
> cd isolex
Within the project directory, make the bundle:
> make local
yarn install
[1/4] Resolving packages...
...
Done in 0.65s
ℹ 「atl」: Using typescript@3.2.2 from typescript
...
starting bot...
An example config file is provided in the docs/
directory. This enables most of the
core features, but requires some secrets to be defined in the environment.
To deploy the bot into a Kubernetes cluster:
> kubectl create namespace isolex
> kubectl apply -n isolex -f deploy/deploy.yml
> kubectl apply -n isolex -f deploy/service.yml
> kubectl create secret generic isolex-config --dry-run --from-file docs/isolex.yml -o json | kubectl apply -n isolex -f -
To run the bot locally from the Docker image:
> docker run ssube/isolex:master
To run the bot locally from the build bundle:
> source docs/isolex.env
> make run-bunyan
Logs will be piped through bunyan and pretty-printed.
Approve this.