Version: 3.x

Deploy Rasa Plus in Production

Rasa Pro Only
Rasa Pro License

You'll need a license to get started with Rasa Pro. Connect with a Rasa expert

Not sure if you need Rasa Pro yet? Try it for free

To use the Rasa Plus image in a Helm deployment, you will need to substitute rasa with rasa-plus as the image name. You will also need to pass your license in an env var and specify a pull secret for the image.

Step 1: image pull secret

You will need to create a pull secret to access the rasa-plus image. You should have been provided with a JSON credentials file to access the registry. The file content should look similar to this:

{
"type": "service_account",
"project_id": "rasa-platform",
"private_key_id": "somerandomcharacters",
"private_key": "-----BEGIN PRIVATE KEY-----\n\nPBTu1lAJDLo136ZGTdMKi+/TuRqrIMg/..................................................................................................................................\nsjAsuAH4Iz1XdfdenzGnyBZH\n-----END PRIVATE KEY-----\n",
"client_email": "company@rasa-platform.iam.gserviceaccount.com",
"client_id": "12345678910123",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/company%40rasa-platform.iam.gserviceaccount.com"
}

Create the pull secret by running the corresponding command for your cluster environment:

# kubernetes
kubectl --namespace <your namespace> \
create secret docker-registry rasa-plus-pull-secret \
--docker-server=gcr.io \
--docker-email=company@rasa-platform.iam.gserviceaccount.com \ # this value needs to be updated with correct client email
--docker-username=_json_key \
--docker-password="$(cat <your-json-registry-creds-file>.json)"
# openshift
oc --namespace <your namespace> \
create secret docker-registry rasa-plus-pull-secret \
--docker-server=gcr.io \
--docker-email=company@rasa-platform.iam.gserviceaccount.com \ # this value needs to be updated with correct client email
--docker-username=_json_key \
--docker-password="$(cat <your-json-registry-creds-file>.json)"

Step 2: store license in a secret

Step a: Save the license string to a file, for example:

echo "<rasaplus-license-key-you-were-emailed>" > license.txt

Step b: Create a secret to hold the license key:

kubectl -n <your-namespace> create secret generic rasapro-license --from-file=licensekey=./license.txt

Step c: Remove the file on disk, for example:

/bin/rm license.txt

Step 3: update values.yml

For the Rasa Helm Chart, update as follows:

registry: europe-west3-docker.pkg.dev/rasa-releases/rasa-plus/rasa-plus
command:
- rasa
image:
name: rasa-plus
tag: 3.3.1
pullSecrets:
- name: rasa-plus-pull-secret
extraEnv:
- name: RASA_PRO_LICENSE
valueFrom:
secretKeyRef:
name: rasapro-license
key: licensekey

For the Rasa X/Enterprise Helm Chart, update as follows:

images:
imagePullSecrets:
- name: rasa-plus-pull-secret
rasa:
command:
- rasa
name: europe-west3-docker.pkg.dev/rasa-releases/rasa-plus/rasa-plus
tag: 3.3.1
extraEnv:
- name: RASA_PRO_LICENSE
valueFrom:
secretKeyRef:
name: rasapro-license
key: licensekey