Skip to content

Limits

Product boundaries of this version. Not a bug list. Same story as Overview.

Scope

  • Not a database, queue, workflow engine, mesh, or Kubernetes
  • Custom events are ephemeral (1-hop gossip). They are not Raft-replicated and are not replayed on Watch reconnect. Bus is bounded; slow subscribers drop events
  • No federation, no OpenTelemetry export
  • Observer (non-voter) nodes exist; they do not change quorum

API and process

  • Wire API is v1alpha1. No compatibility promise of a v1 tag
  • Health.role is always standalone. Health.healthy is always true
  • clusdr status = control socket exists. Default path $HOME/.clusdr/clusdr.sock
  • CLUSDR_SHUTDOWN_TIMEOUT is not implemented. Only YAML shutdown_timeout (if > 0) changes the 15s close grace

Numeric caps

CapValue
Custom event payload64 KiB
Topic / lock / lease name1–128 characters (A–Z a–z 0–9 . _ -)
Locks in the table4096
Leases in the table4096
Lock/lease TTL1ms–24h (default 15s)
Watch client buffer (SDK)64 events

Cluster

  • Raft and advertised node.addr default to localhost. Multi-host needs explicit addresses
  • Default Raft heartbeat and election are 150ms. If peer RTT is larger, raise them or you get extra elections
  • docker compose is a single node without init
  • Two processes must not share one data.dir

Distribution

  • Release binaries embed the tag via ldflags. Source builds print dev
  • Install channels: Linux install script, Docker Hub odurgut/clusdr
  • Python SDK: pip install clusdr
  • No license file in this tree

Documentation is sourced from the clusdr/docs tree.