Prerequisites
- Access to run
kubectlcommands in the cluster’s context. - At least 3 worker nodes with 4 CPU and 16 GB of memory each.
- Outbound access from the cluster to pull images:
registry.falkordb.cloud(Enterprise images, credentials required),docker.io,apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com,registry.k8s.io, andghcr.io— orregistry.falkordb.cloudalone, since every image is also mirrored there (see Private registries).
Recommended inputs
Prepare these values before installing:- Kubernetes context name.
- FalkorDB Enterprise namespace.
- KubeBlocks namespace.
- A stable 32+ character JWT secret.
- Image pull credentials if Enterprise images are private.
- Public Admin UI hostname.
- TLS-enabled ingress configuration.
- Storage class for Admin Server persistence if the cluster default is not suitable.
falkordb-enterprise-install-lock and blocks installs from any other release or namespace in the same cluster. Re-running or upgrading the owning release is allowed.
Generate a JWT secret:
Production values file
Create a values file for environment-specific settings:gateway.ingress.enabled=true, the chart derives the Admin UI public URL from the first gateway ingress host. The Admin Server CORS origin defaults to that Admin UI public URL unless adminServer.env.corsOrigin is set.
Install with explicit context and Secrets
Private images
If Admin Server or Admin UI images are private, configure an image pull Secret. See Private registries for the complete flow.Browser encryption key
FalkorDB Browser is enabled by default. The chart includes a post-install/post-upgrade hook that ensures a 64-character hexadecimalENCRYPTION_KEY exists for the Browser deployment and restarts the Browser when needed.
To provide your own key:
Enterprise license
The admin server can receive a signed Enterprise license from Helm. For production, create a Secret in the Enterprise namespace and reference it from chart values:FALKORDB_LICENSE and persists validated license state at /data/license-state.json by default. Keep admin server persistence enabled so API-activated licenses and Helm-provided licenses survive pod restarts. If the license is expired, invalid, or any resource limit is exceeded, authenticated write operations are locked and the Admin UI becomes read-only until a valid license within limits is active.
Generated license keys include a signed payload with version: 1. The admin server currently accepts payload version 1; future license payload formats should increment this field.
To bind the license to this Kubernetes cluster, generate it with the cluster ID from the UID of the kube-system namespace:
k8sClusterId. The admin server compares it to K8S_CLUSTER_ID when set, otherwise to the kube-system namespace UID. Omit k8sClusterId for an unbound license.
Post-install validation
mustChangePassword=true.
Production notes
- Do not use the default bootstrap password in shared environments.
- Prefer a values file over long
--setcommand lines. - Do not rely on
helm --reuse-valuesfor upgrades unless image tags are set explicitly. - Leave
cookieSecureenabled behind TLS. - Keep Admin Server persistence enabled unless audit logs and local state are intentionally disposable.
Pod security admission
The installer labels the release namespaceenforce=baseline with audit and warn at restricted. In a default (non-CSI) install, baseline is also enough for kb-system and for database namespaces — no namespace needs privileged.
If your cluster applies a stricter default, or you manage namespace labels yourself, see Pod Security Admission levels for the measured level of each namespace and the exact workloads that cap it.
Network policies
The chart can restrict what reaches the Admin Server and Admin UI, and what the Admin Server can reach. This is off by default because a CNI that does not implementNetworkPolicy accepts the objects and enforces nothing.
networkPolicy.externalEgress to your control plane and identity provider ranges. See Network policies for the full set of rules, the flows that deliberately have none, and how to verify enforcement.
Supply chain
Verify the chart signature before installing, and the image signatures before promoting a release.helm install does no signature checking of its own.
appVersion by default, so a chart version always requests the same image version. For a stricter guarantee, pin adminServer.image.digest and adminUi.image.digest so the image cannot be swapped underneath you. See Supply chain.