Rasa Enterprise is a platform for multidisciplinary teams to create AI assistants that drive business value. This Helm chart provides a quick, production-ready deployment of Rasa Enterprise in your cluster.
NOTE: Please see the Rasa Enterprise documentation for a detailed guide on usage and configuration of this chart.
- Kubernetes 1.12+
- Helm 2.11+ or 3
- Persistent Volume provisioner support in the underlying infrastructure
helm repo add rasa-x https://rasahq.github.io/rasa-x-helm
helm install <your release name> rasa-x/rasa-x
helm upgrade <your release name> rasa-x/rasa-x
helm delete <your release name>
The rasa-x-helm chart in version 4.0.0 introduces the following breaking changes:
Update chart dependencies to the latest available version, below you can find listed a summary of major changes compared to the previous version used by the rasa-x-helm chart:
-
Redis - the chart for Redis is updated to version 15.
- Credentials parameter are reorganized under the
auth
parameter. - The
cluster.enabled
parameter is deprecated in favor ofarchitecture
parameter that accepts two values:standalone
andreplication
. securityContext.*
is deprecated in favor ofXXX.podSecurityContext
andXXX.containerSecurityContext
(XXX
can be replaces withmaster
orreplica
).redis.redisPort
is deprecated in favor ofmaster.service.port
andreplica.service.port
.
A full list of changes between 10.5.14 and 15.7.4 versions for the Bitnami Redis chart can be found in the changelog.
- Credentials parameter are reorganized under the
-
RabbitMQ - the chart for RabbitMQ is updated to version 8.
securityContext.*
is deprecated in favor ofpodSecurityContext
andcontainerSecurityContext
.- Authentication parameters were reorganized under the
auth.*
parameter:rabbitmq.username
,rabbitmq.password
, andrabbitmq.erlangCookie
are nowauth.username
,auth.password
, andauth.erlangCookie
respectively.
A full list of changes between 6.19.2 and 8.26.0 versions for the Bitnami RabbitMQ chart can be found in the changelog.
-
PostgreSQL - the chart for PostgreSQL is updated to version 10.
- Default PostgresSQL version is updated from
12.8.0
to12.9.0
(a dump/restore is not required for those running 12.X) - The term
master
has been replaced withprimary
andslave
withreadReplicas
throughout the chart. Role names have changed frommaster
andslave
toprimary
andread
.
A full list of changes between 6.19.2 and 8.26.0 versions for the Bitnami RabbitMQ chart can be found in the changelog.
- Default PostgresSQL version is updated from
The rasa-x-helm chart in version 3.0.0 introduces the following breaking changes:
-
Default version for PostgreSQL is 12.8.0.
PostgreSQL deployment for < 3.0.0 version of chart used PostgreSQL 11. In this document you can find guide on how to migrate from PostgreSQL 11 to 12.
-
Ingress is disabled by default.
ingress: enabled: false
-
Default username for Rasa Enterprise is
admin
. -
The Rasa production deployment is disabled by default and will be removed in the future.
rasa: versions: rasaProduction: # the rasa production deployment is disabled by default. enabled: false
It's recommended to use tha rasa helm chart to deploy Rasa OSS. Visit the rasa chart docs to learn more.
Before you upgrade the helm chart check the migration guide.
The rasa-x-helm chart in version 2.0.0 supports using an external Rasa OSS deployment.
The rasa-x-helm chart >= 2.0.0 supports an option to use an external Rasa OSS deployment. Below you can find an example of configuration that uses the external deployment.
The following configuration disables the rasa-production
deployment and uses an external deployment instead.
# versions of the Rasa container which are running
versions:
# rasaProduction is the container which serves the production environment
rasaProduction:
# enable the rasa-production deployment
# You can disable the rasa-production deployment to use external Rasa OSS deployment instead.
enabled: false
# Define if external Rasa OSS should be used.
external:
# enable external Rasa OSS
enabled: true
# URL address of external Rasa OSS deployment
url: "https://rasa-bot.external.deployment.domain.com"
Now you can apply your changes by using the helm upgrade
command.
NOTE: Any Rasa Open Source server can stream events to Rasa Enterprise using an event broker. Both Rasa and Rasa Enterprise will need to refer to the same event broker.
You can use the rasa-bot helm chart to deploy Rasa OSS. Visit the rasa chart docs to learn more.
All configurable values are documented in values.yaml
. For a quick installation we
recommend to set at least these values:
Parameter | Description | Default |
---|---|---|
rasax.passwordSalt |
Password salt which Rasa Enterprise uses for the user passwords. | passwordSalt |
rasax.token |
Token which the Rasa Enterprise pod uses to authenticate requests from other pods. | rasaXToken |
rasax.command |
Override the default command to run in the container. | [] |
rasax.args |
Override the default arguments to run in the container. | [] |
rasax.jwtSecret |
Secret which is used to sign JWT tokens of Rasa Enterprise users. | jwtSecret |
rasax.initialUser.username |
Only for Rasa Enterprise. A name of the user that will be created immediately after the first launch (rasax.initialUser.password should be specified). |
admin |
rasax.initialUser.password |
Password for the initial user. If you use Rasa Enterprise and leave it empty, no users will be created. If you use Rasa CE and leave it empty, the password will be generated automatically. | "" |
rasa.token |
Token which the Rasa pods use to authenticate requests from other pods. | rasaToken |
rasa.command |
Override the default command to run in the container. | [] |
rasa.args |
Override the default arguments to run in the container. | [] |
rasa.extraArgs |
Additional rasa arguments. | [] |
rabbitmq.auth.password |
Password for RabbitMQ. | test |
global.postgresql.postgresqlPassword |
Password for the Postgresql database. | password |
global.redis.password |
Password for redis. | password |
rasax.tag |
Version of Rasa Enterprise which you want to use. | 1.0.1 |
rasa.version |
Version of Rasa Open Source which you want to use. | 2.8.1 |
rasa.tag |
Image tag which should be used for Rasa Open Source. Uses rasa.version if empty. |
`` |
app.name |
Name of your action server image. | rasa/rasa-x-demo |
app.tag |
Tag of your action server image. | 0.42.0 |
app.command |
Override the default command to run in the container. | [] |
app.args |
Override the default arguments to run in the container. | [] |
eventService.command |
Override the default command to run in the container. | [] |
eventService.args |
Override the default arguments to run in the container. | [] |
nginx.command |
Override the default command to run in the container. | [] |
nginx.args |
Override the default arguments to run in the container. | [] |
duckling.command |
Override the default command to run in the container. | [] |
duckling.args |
Override the default arguments to run in the container. | [] |
global.progressDeadlineSeconds |
Specifies the number of seconds you want to wait for your Deployment to progress before the system reports back that the Deployment has failed progressing. | 600 |
networkPolicy.enabled |
If enabled, will generate NetworkPolicy configs for all combinations of internal ingress/egress | false |
postgresql.image.tag |
The PostgreSQL Image tag | 12.8.0 |
- If you encounter bugs or have suggestions for this Helm chart, please create an issue in this repository.
- If you have general questions about usage, please create a thread in the Rasa Forum.
We are very happy to receive and merge your contributions. You can find more information about how to contribute to Rasa (in lots of different ways!) here.
To contribute via pull request, follow these steps:
- Create an issue describing the feature you want to work on
- Create a pull request describing your changes
This repository automatically release a new version of the Helm chart once new changes are merged. The only required steps are:
- Make the changes to the chart
- Run
helm lint --strict charts/rasa-x
- Increase the chart
version
incharts/rasa-x/Chart.yaml
generate-changelog-action is used to capture changelogs from commit messages. This means there is a special format for commit messages if you want them to appear in release change logs.
The format is as following:
type: description [flags]
where type
is the category of the change, description
is a short sentence to describe the change, and flags
is an optional comma-separated list of one or more of the following (must be surrounded in square brackets):
breaking
: alters type
to be a breaking change
type
can be
- feature
- fix
- build
- other
- perf
- refactor
- style
- test
- doc
For more information, please see here.
Licensed under the Apache License, Version 2.0. Copyright 2021 Rasa Technologies GmbH. Copy of the license.