Compatibility matrix #

This page lists what Kuzzle 2 runs on: Node.js, operating systems, storage engines and cache servers. It describes the latest 2.x release, 2.61. When a release changes this page, its changelog says so.

How to read this page #

LevelMeaning
SupportedKuzzle is meant to run on it. A bug that only shows up there is fixed like any other bug.
Tested by the CIKuzzle's test suites run on it for every change. It is the safest choice.
Works, not supportedKuzzle's functional tests passed on it once, but the CI does not run on it, and its own maintainers no longer support it. Use it to plan an upgrade, not to stay on.

Node.js #

Node.jsStatusTested by the CI
22 (22.12 or later)Supported22
24Supported24 (also the Node.js of the official kuzzleio/kuzzle Docker image)
25 and laterNot supported (npm install warns about it)

Operating systems #

Kuzzle uses native (C++) dependencies. They ship prebuilt for:

  • Linux x64 and arm64, with glibc 2.31 or later (e.g. Debian bullseye and later, Ubuntu 20.04 and later);
  • macOS.

On those systems, npm install kuzzle needs no compiler. On Alpine Linux (musl) or other architectures, the native dependencies are compiled at install time, which needs python3, make and a C++ compiler such as g++.

Storage engines #

Kuzzle stores its data through a storage driver. The Elasticsearch 7 and 8 drivers are built in, the others are installed next to Kuzzle. Each driver refuses to start on an engine version it does not support.

EngineDriverSupported versionsTested by the CIKuzzle
Elasticsearch 7built in (kuzzle-storage-es-7)7.x7.17all 2.x
Elasticsearch 8built in (kuzzle-storage-es-8)8.x8.172.30 or later
Elasticsearch 9kuzzle-storage-es-99.x9.52.61 or later
OpenSearch 2kuzzle-storage-opensearch-22.19 or a later 2.x2.192.61 or later
OpenSearch 3kuzzle-storage-opensearch-33.x3.92.61 or later

Elasticsearch 7 is the default. To pick another engine, see Storage Drivers.

Cache: Redis and Valkey #

Kuzzle keeps its internal cache (authentication tokens, cluster state, locks) and the memory storage in a Redis-compatible server. Valkey, the open source fork of Redis, works the same way: point Kuzzle at it as you would at Redis, with the same configuration.

ServerSupported versionsTested by the CIWorks, not supported
Redis6.2, 7.x and 8.x6.2 and 84.0 and 5.0
Valkey7.2, 8.x and 9.x9

Every version in this table passed Kuzzle 2.61's functional tests on 2026-11-05: Redis 4.0, 5.0, 6.2, 7.2, 7.4 and 8, and Valkey 7.2, 8.1 and 9.1.

Some features need a recent server:

  • an ACL user (username + password, see Securing Redis) needs Redis 6 or later, or any Valkey version.

Kuzzle needs no Redis module.

Deployment modes #

The CI runs on a single server. Kuzzle also connects to a Sentinel setup, to a Redis or Valkey cluster, and to managed services such as Amazon ElastiCache, Azure Cache for Redis or Google Memorystore, through the ioredis client options (see Configuring Kuzzle). These modes are supported, but not tested by the CI.

On Valkey #

server:info shows the cache as redis, with version 7.2.4: that is the Redis version Valkey announces for compatibility, not its own.

The memory storage only offers commands that both Redis and Valkey support. Plugins that send commands directly to the cache must check that their commands exist on the server they run on.