- Notifications
You must be signed in to change notification settings - Fork7
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.
License
ssube/isolex
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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.
Thegetting started guide has more information on using the bot.
To build and run the bot locally, you will needmake
,node
, andyarn
installed globally or a container with thesame.
Clone this repository:
> git clone git@github.com:ssube/isolex.git>cd isolex
Within the project directory, make the bundle:
> makelocalyarn install[1/4] Resolving packages......Donein 0.65sℹ 「atl」: Using typescript@3.2.2 from typescript...starting bot...
Anexample config file is provided inthedocs/
directory. This enables most of thecore features, but requiressome 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 fromthe build bundle:
>source docs/isolex.env> make run-bunyan
Logs will be piped throughbunyan and pretty-printed.
Approve this.
About
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.