Version: Latest

Deploy Rasa Pro

This page explains how to deploy Rasa Pro to a Kubernetes or OpenShift cluster using the Rasa Pro Helm chart.

Installation Requirements

important

In case you are using a Helm version <3.5, please update to version >=3.5.

  1. Check that you have installed the Kubernetes or OpenShift command line interface (CLI). You can check this using the following command:

    kubectl version
    # The output should be similar to this
    # Client Version: v1.28.2

    If this command resulted in an error, please install the Kubernetes CLI.

    If this command resulted in an error, please install the Kubernetes CLI or the OpenShift CLI depending on the cluster you’re using.

  2. Make sure that the Kubernetes / OpenShift CLI is correctly connected to your cluster. You can do so by using the following commands:

    kubectl version
    # The output should be similar to this
    # Client Version: v1.28.2
    # Server Version: v1.27.4-gke.900

    If you get an error when executing the command, you are not connected to your cluster. To get the command to connect to the cluster please consult your cluster’s admin or the documentation of your cloud provider.

  3. Make sure you have the Helm CLI installed. To check this, run:

    helm version --short
    # The output should be similar to this
    # v3.9.0+g7ceeda6

    If this command leads to an error, please install the Helm CLI.

Namespace & Secrets

Create Namespace

We recommend installing Rasa in a separate namespace to avoid interfering with existing cluster deployments. To create a new namespace run the following command:

kubectl create namespace <your namespace>

Make this your default namespace, for ease of use:

kubectl config set-context --current --namespace=<your namespace>

Runtime secrets

Prepare an empty file called secrets.yml which will include all your secret values.

For the most basic deployment, add the following to your secrets.yml, and replace BASE64ENCODEDVALUE with actual secret values, base64 encoded:

apiVersion: v1
kind: Secret
metadata:
name: rasa-secrets
type: Opaque
data:
# The Rasa Pro License provided to you by Rasa
rasaProLicense: BASE64ENCODEDVALUE
# A token Rasa accepts as authentication token from other Rasa services
authToken: BASE64ENCODEDVALUE
# A JWT token Rasa accepts as authentication token from other Rasa services
jwtSecret: BASE64ENCODEDVALUE
note

to base64 encode a value in Linux or macOS, you can use:

echo -n <your-secret-value> | base64

Apply these secrets to your namespace in cluster with:

kubectl apply -f secrets.yml

Deploy

Create values.yml

Prepare an empty file called values.yml which will include all your custom configuration for the installation with Helm.

For the most basic deployment, add the following to your values.yml:

# -- rasaProServices.enabled enables Rasa Pro Services deployment
rasaProServices:
enabled: false
# -- rasa-pro image & configurations
rasa:
# rasa.image defines image settings
image:
repository: "europe-west3-docker.pkg.dev/rasa-releases/rasa-pro/rasa-pro"
# -- image.tag specifies image tag
tag: "3.8.0-latest"

Deploy with Helm

You need to first download the Rasa Pro Helm Chart.

You can now deploy the Rasa Pro container with:

helm install \
--namespace <your namespace> \
--values values.yml \
<release name> \
rasa-<version>.tgz

This will deploy a licensed rasa-pro container to a kubernetes pod.

note

To update the helm deployment, you can use:

helm upgrade \
--namespace <your namespace> \
--values values.yml \
<release name> \
rasa-<version>.tgz
note

To delete the helm deployment, you can use:

helm delete <release name>

Environment Variables

For the complete list of environment variables that can be used with Rasa Pro, please refer to the Environment Variables documentation.