Deploy Rasa Plus in Production
You are viewing documentation for our open source project which is maintained by the community. If you want to get started building assistants with Rasa please check out our latest documentation here.
Rasa Pro License
You'll need a license to get started with Rasa Pro. Get it here
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.6.20
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.6.20
extraEnv:
- name: RASA_PRO_LICENSE
valueFrom:
secretKeyRef:
name: rasapro-license
key: licensekey