Skip to main content
Version: 1.0


Install Botkube Backend in Kubernetes cluster

  • We use Helm to install Botkube in Kubernetes. Follow this guide to install helm if you don't have it installed already.

  • Add botkube chart repository:

    helm repo add botkube
    helm repo update
  • Deploy Botkube backend using helm install in your cluster:

    export CLUSTER_NAME={cluster_name}
    export ELASTICSEARCH_ADDRESS={elasticsearch_address}
    export ELASTICSEARCH_USERNAME={elasticsearch_username}
    export ELASTICSEARCH_PASSWORD={elasticsearch_password}
    export ELASTICSEARCH_INDEX_NAME={elasticsearch_index_name}

    helm install --version v1.0.1 botkube --namespace botkube --create-namespace \
    --set communications.default-group.elasticsearch.enabled=true \
    --set communications.default-group.elasticsearch.server=${ELASTICSEARCH_ADDRESS} \
    --set communications.default-group.elasticsearch.username=${ELASTICSEARCH_USERNAME} \
    --set communications.default-group.elasticsearch.password=${ELASTICSEARCH_PASSWORD} \
    --set settings.clusterName=${CLUSTER_NAME} \


    • ELASTICSEARCH_ADDRESS is an address on which ElasticSearch server is reachable e.g,
    • ELASTICSEARCH_USERNAME is the username for authentication to Els server,
    • ELASTICSEARCH_PASSWORD is a password for the username to authenticate with Els server,
    • ELASTICSEARCH_INDEX_NAME (optional) is an index name on which Botkube events will be stored (default: botkube).

    Configuration syntax is explained here. Full Helm chart parameters list is documented here.

    With the default configuration, Botkube will watch all the resources in all the namespaces for create, delete and error events.

    If you wish to monitor only specific resources, follow the steps given below:

    1. Create a new config.yaml file and add Kubernetes resource configuration as described on the source page.

    2. Pass the YAML file as a flag to helm install command, e.g.:

      helm install --version v1.0.1 --name botkube --namespace botkube --create-namespace -f /path/to/config.yaml --set=...other args..

    Alternatively, you can also update the configuration at runtime as documented here.

Remove Botkube

Execute following command to completely remove Botkube and related resources from your cluster:

helm uninstall botkube --namespace botkube