> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gorules.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Kubernetes

> Deploy GoRules BRMS on Kubernetes using Helm.

Deploy on Kubernetes in a few simple steps.

## Requirements

Install [Helm](https://helm.sh/) on your computer and connect to your cluster.

| Component  | Requirement                                         |
| ---------- | --------------------------------------------------- |
| Helm       | 3.8+                                                |
| Kubernetes | 1.2x+                                               |
| Nodes      | Linux OS, x86\_64 architecture                      |
| Resources  | Minimum 1GB RAM, 0.5 vCPU                           |
| Database   | PostgreSQL                                          |
| License    | From [portal.gorules.io](https://portal.gorules.io) |

## Configure

1. Download `values.yaml` from [Artifact Hub](https://artifacthub.io/packages/helm/gorules/gorules-brms?modal=values)
2. Rename the file to `my-values.yaml`
3. Replace variables such as `appUrl` and `licenseKey` with your values
4. Fill in the PostgreSQL connection details

## Installation

After configuring `my-values.yaml`, install GoRules BRMS:

```bash theme={null}
helm install my-gorules-brms oci://registry-1.docker.io/gorulescharts/gorules-brms -f my-values.yaml
```

<Note>
  Install a specific version by adding `--version 1.6.0` before `-f my-values.yaml`.
</Note>

<Note>
  For production environments, set up ingress on a proper URL.
</Note>

## Test installation

Forward the port for testing:

```bash theme={null}
kubectl port-forward services/my-gorules-brms 4200:80
```

BRMS will be available at [http://localhost:4200](http://localhost:4200).

## Upgrade

Upgrade to a new version:

```bash theme={null}
helm upgrade my-gorules-brms oci://registry-1.docker.io/gorulescharts/gorules-brms --version x.x.x -f my-values.yaml
```

<Note>
  Replace `--version x.x.x` with the actual version number, such as `--version 1.6.0`.
</Note>

## FAQ

### Multi-architecture node pools

If you're running multi-architecture node pools, force Linux OS and x86\_64 architecture by modifying `nodeSelector` in `my-values.yaml`:

```yaml theme={null}
nodeSelector:
  kubernetes.io/arch: amd64
  kubernetes.io/os: linux
```

Then run `helm upgrade` to apply the changes.
