Skip to content
/ isolex Public

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

Notifications You must be signed in to change notification settings

ssube/isolex

Repository files navigation

isolex

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.

Getting Started

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.

Contents

Status

Pipeline status Lines of Code Test Coverage MIT license FOSSA Status

Open bug count Open issue count Closed issue count

Renovate badge Dependency status Dev dependency status Known vulnerabilities

Maintainability score Technical debt ratio Quality issues Language grade: JavaScript Total alerts

Releases

github release link github release version github commits since release

npm package link npm release version Typescript definitions

docker image link docker image size

Build

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...

Config

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.

Run

Deploy to Kubernetes

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 -

Local in Docker

To run the bot locally from the Docker image:

> docker run ssube/isolex:master

Local from Bundle

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.

License

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published