Hubot 3 chatbot with the Slack adaptor
Learn more: https://github.com/mind-doc/hubot
$ helm install stable/hubot
This chart creates a Hubot deployment on a Kubernetes cluster using the Helm package manager.
- Kubernetes 1.8+ with Beta APIs enabled
To install the chart with the release name my-release
:
$ helm install --name my-release stable/hubot
The command deploys Hubot on the Kubernetes cluster using the default configuration. The configuration section lists the parameters that can be configured during installation.
To uninstall/delete the my-release
deployment:
$ helm delete --purge my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
The following table lists the configurable parameters of the Hubot chart and their default values.
Parameter | Description | Default |
---|---|---|
namespace |
namespace to use | default |
replicaCount |
desired number of pods | 1 |
image.repository |
container image repository | minddocdev/hubot |
image.tag |
container image tag | latest |
image.pullPolicy |
container image pull policy | Always |
service.type |
type of service to create | NodePort |
service.httpPort |
port for the http service | 80 |
ingress.enabled |
flag to add ingress functionality | false |
ingress.annotations |
ingress load balancer annotations | Always |
ingress.path |
proxied path | / |
ingress.hosts |
proxied hosts | [ hubot.local ] |
ingress.tls |
tls certificate secrets | [] |
resources |
resource requests & limits | {} |
nodeSelector |
node selector logic | {} |
tolerations |
resource tolerations | {} |
affinity |
node affinity | {} |
hubot.config |
hubot configuration (environment variables) | {} |
hubot.scriptsFolder |
hubot scripts folder path | /minddocbot/scripts |
hubot.scripts |
custom hubot scripts | { health.coffee: <script content> } |
hubot.slackToken |
slack hubot integration token | '' |
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example,
$ helm install --name my-release \
--set key_1=value_1,key_2=value_2 \
stable/hubot
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
# example for staging
$ helm install --name my-release -f values.yaml stable/hubot
Tip: You can use the default values.yaml
With the hubot.config
parameter you can provide a hash that will be used as environment variables by hubot. These environment variables will be picked by hubot's scripts.
For instance:
hubot:
config:
HUBOT_STANDUP_PREPEND: '@channel'
In addition, you can add your own scripts, which will be created in the scripts folder, with .js
or .coffee
format. See Hubot Scripting.
By default, this chart adds a health endpoint so Kubernetes can probe the pod.
hubot:
scripts:
health.coffee: |
# Description
# A hubot script that exposes a health endpoint
module.exports = (robot) ->
robot.router.get '/health', (req, res) -> res.status(200).end()
You can follow the same format for creating your own hubot scripts
hubot:
scripts:
hithere.coffee: |
# Description
# A hubot script that is an example for this chart
module.exports = (robot) ->
robot.respond /hi my bot/i, (msg) ->
msg.send 'Hi there my human'