# Rasa X User Management Instructions

Rasa X version 0.33.0 or higher is only compatible with Rasa Open Source 2.x. If you are on Rasa Open Source 1.x, please check the [compatibility matrix](https://legacy-docs-rasa-x.rasa.com/docs/rasa-x/changelog/compatibility-matrix) for a compatible version.

You can either create users from the UI, or on the command line from within the Rasa X pod. The instructions below are for creating or updating users on the command line from within the Rasa X pod.

## Steps to Create or Update Users

1. **Get the name of the Rasa X pod:**
   - Kubernetes
   - OpenShift
   
   ```bash
   kubectl --namespace <your namespace> get pod -l app.kubernetes.io/component=rasa-x
   ```
   
   The output should be similar to this:
   
   ```plaintext
   NAME                       READY   STATUS    RESTARTS   AGE
   rasa-rasa-x-6dcf57bb45-jnt4f   1/1     Running   2          17h
   ```
   
   `rasa-rasa-x-6dcf57bb45-jnt4f` is in our case the name of the Rasa X container.

2. **Connect to the shell of this pod:**
   - Kubernetes
   - OpenShift  
   
   ```bash
   kubectl --namespace <your namespace> exec -it <name of the Rasa X pod> bash
   ```

3. **Rasa Enterprise only**: Run the following command to create a new user. Please see [Role-Based Access Control](https://legacy-docs-rasa-x.rasa.com/docs/rasa-x/enterprise/role-based-access-control#default-roles) for available default roles.
   
   ```bash
   python scripts/manage_users.py create <username> <password> <role>
   ```

4. **To update the password of an existing user** (by default, the username for the single **Rasa X** user is `admin` and its role is `admin`) run the following command:
   
   ```bash
   python scripts/manage_users.py create --update <username> <password> <role>
   ```

### Note
If you created a deployment via `rasactl`, the namespace name is the same as a deployment name. You can use the `rasactl list` command to display available deployments.
