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

> ## Agent Instructions
> FalkorDB is a graph database that speaks the Redis protocol. Queries are issued as OpenCypher through the GRAPH.QUERY and GRAPH.RO_QUERY commands, not over Bolt or a SQL connection.
> FalkorDB implements a subset of OpenCypher with proprietary extensions. Do not assume Neo4j-only syntax or procedures are available — check /cypher/cypher-support and /cypher/known-limitations before using a clause.
> FalkorDB is the successor to RedisGraph, but they are separate products. Do not present RedisGraph commands, versions, or limitations as current FalkorDB behavior.
> Use the official clients listed in /getting-started/clients rather than generic Redis or Neo4j drivers, and prefer the language the user is already working in.
> Configuration parameters are set with GRAPH.CONFIG SET or at startup; cite the exact parameter name from /getting-started/configuration rather than inventing one.
> This site covers four products: FalkorDB (core), FalkorDB Cloud, FalkorDB Enterprise, and the GraphRAG SDK. Name which one an answer applies to, since setup and operations differ.

# Upgrade FalkorDB Enterprise

> Upgrade the FalkorDB Enterprise Helm release safely.

## Before you start

<CardGroup cols={2}>
  <Card title="Changelog" icon="list" href="/enterprise/upgrades/changelog">
    What changed between your version and the target version.
  </Card>

  <Card title="Compatibility matrix" icon="table" href="/enterprise/reference/compatibility">
    The subchart versions each release pins, and its support channel.
  </Card>
</CardGroup>

A release with incompatible changes has a migration guide linked from its changelog
entry. Work through that guide before running the upgrade.

## Prechecks

Confirm the current release and namespaces:

```bash theme={null}
helm status falkordb-enterprise -n falkordb-system
kubectl get pods -n falkordb-system
```

Back up mutable admin resources:

```bash theme={null}
kubectl -n falkordb-system get secret -l 'falkordb.io/user-type' -o yaml > falkordb-admin-users.backup.yaml
kubectl -n falkordb-system get configmap falkordb-rbac falkordb-admin-settings -o yaml > falkordb-admin-config.backup.yaml
```

Save current Helm values:

```bash theme={null}
helm get values falkordb-enterprise -n falkordb-system -o yaml > falkordb-enterprise.current-values.yaml
```

## Recommended upgrade path

Prefer a maintained values file over `--reuse-values`. This avoids carrying old image tag overrides forward accidentally.

```bash theme={null}
curl -fsSL https://falkordb.github.io/FalkorDB-Enterprise/install.sh | \
  bash -s -- \
    --kube-context production-cluster \
    --release falkordb-enterprise \
    --namespace falkordb-system \
    --kubeblocks-namespace kb-system \
    --version '<chart-version>' \
    --values production-values.yaml \
    --yes
```

Omit `--version` to install the latest published chart. Passing an older version downgrades the release, since the installer runs `helm upgrade` either way.

The installer uses `helm upgrade --install`, so rerunning it upgrades the Enterprise release. It also updates KubeBlocks and Snapshot Controller unless skipped.

## Enterprise-only upgrade

If KubeBlocks and Snapshot Controller are already managed separately and should not be touched:

```bash theme={null}
curl -fsSL https://falkordb.github.io/FalkorDB-Enterprise/install.sh | \
  bash -s -- \
    --release falkordb-enterprise \
    --namespace falkordb-system \
    --skip-kubeblocks \
    --skip-snapshot-controller \
    --skip-crds \
    --values production-values.yaml \
    --yes
```

## Manual Helm upgrade

```bash theme={null}
helm upgrade falkordb-enterprise \
  oci://registry.falkordb.cloud/falkordb/falkordb-enterprise \
  --version '<chart-version>' \
  --namespace falkordb-system \
  -f production-values.yaml \
  --wait --timeout 20m
```

If you must use `--reuse-values`, set image tags explicitly:

```bash theme={null}
helm upgrade falkordb-enterprise \
  oci://registry.falkordb.cloud/falkordb/falkordb-enterprise \
  --version '<chart-version>' \
  --namespace falkordb-system \
  --reuse-values \
  --set adminServer.image.tag='<chart-version>' \
  --set adminUi.image.tag='<chart-version>' \
  --wait --timeout 20m
```

## Post-upgrade validation

```bash theme={null}
helm status falkordb-enterprise -n falkordb-system
kubectl rollout status deployment -n falkordb-system -l app.kubernetes.io/component=admin-server
kubectl rollout status deployment -n falkordb-system -l app.kubernetes.io/component=admin-ui
kubectl get pods -n falkordb-system
```

Port-forward and check health:

```bash theme={null}
kubectl -n falkordb-system port-forward svc/falkordb-enterprise-admin-server 3000:3000
curl http://localhost:3000/health
```

Open the Admin UI and verify login, deployment list, diagnostics, logs, and metrics.

## Rollback

List revisions:

```bash theme={null}
helm history falkordb-enterprise -n falkordb-system
```

Rollback to a previous revision:

```bash theme={null}
helm rollback falkordb-enterprise <revision> -n falkordb-system --wait --timeout 20m
```

After rollback, rerun the post-upgrade validation commands.
