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](/content/docs/index.html).

##### Rasa Pro License

You'll need a license to get started with Rasa Pro. [Get it here](/content/rasa-pro-developer-edition-license-key-request/index.html)

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](https://legacy-docs-oss.rasa.com/docs/rasa/deploy/deploy-rasa-plus/#step-1-image-pull-secret).

## 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:

```json
{
  "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:

```bash
# 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)"
```

```bash
# 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:

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

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

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

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

```bash
/bin/rm license.txt
```

## Step 3: update `values.yml`

For the [Rasa Helm Chart](https://github.com/RasaHQ/helm-charts/tree/main/charts/rasa), update as follows:

```yaml
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](https://github.com/RasaHQ/rasa-x-helm), update as follows:

```yaml
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
```
