Configuration Reference

August 4, 2026 · View on GitHub

Pass all settings in the hivemind-redis-db-plugin block of ~/.config/hivemind-core/server.json.

SettingDefaultDescription
name"clients"HiveMind-core database contract field.
subfolder"hivemind-core"HiveMind-core database contract field. Not used for Redis key naming.
host"127.0.0.1"Redis host for single-node mode.
port6379Redis port.
db0Redis DB number (single-node only. Ignored in cluster mode).
username"default"Redis ACL username.
passwordnoneRedis password.
index_prefix"client"Key namespace prefix used inside Redis.
cluster_nodesnoneList of {"host": ..., "port": ...} dicts for Redis Cluster startup. Presence triggers cluster mode.
cluster_hash_tagnoneFixed hash tag for one-slot transactional writes. Recommended for new cluster deployments.
max_connections50Redis connection pool size. Every client connect and every message does a DB round trip, so the default is sized for real load, not a smoke test; raise it further for large deployments.
retry_attempts3Internal retry count for transient operations.
retry_delay0.1Seconds between retry attempts.
use_sslfalseEnable TLS.
sslnoneBackward-compatible alias for use_ssl. Prefer use_ssl in new configs.
ssl_certfilenonePath to client certificate (mTLS).
ssl_keyfilenonePath to client key (mTLS).
ssl_ca_certsnonePath to CA bundle.
ssl_cert_reqsnoneTLS verification mode: "required", "optional", or "none".
ssl_check_hostnametrueHostname validation. Forced off when ssl_cert_reqs="none".

Single Redis

{
  "database": {
    "module": "hivemind-redis-db-plugin",
    "hivemind-redis-db-plugin": {
      "name": "clients",
      "host": "127.0.0.1",
      "port": 6379,
      "db": 1,
      "password": "",
      "index_prefix": "client",
      "max_connections": 10
    }
  }
}
{
  "database": {
    "module": "hivemind-redis-db-plugin",
    "hivemind-redis-db-plugin": {
      "name": "clients",
      "cluster_nodes": [
        {"host": "redis-node1", "port": 6379},
        {"host": "redis-node2", "port": 6379},
        {"host": "redis-node3", "port": 6379}
      ],
      "cluster_hash_tag": "clients",
      "password": "your_password",
      "index_prefix": "client",
      "max_connections": 20
    }
  }
}

Omit cluster_hash_tag to keep the legacy untagged key layout during a transitional period. See cluster_consistency.md.

TLS

{
  "database": {
    "module": "hivemind-redis-db-plugin",
    "hivemind-redis-db-plugin": {
      "name": "clients",
      "host": "redis.example.com",
      "port": 6380,
      "use_ssl": true,
      "ssl_certfile": "/path/to/client.crt",
      "ssl_keyfile": "/path/to/client.key",
      "ssl_ca_certs": "/path/to/ca.crt",
      "ssl_cert_reqs": "required",
      "ssl_check_hostname": true
    }
  }
}

← Architecture · Home · Cluster Consistency →