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.roleis alwaysstandalone.Health.healthyis alwaystrueclusdr status= control socket exists. Default path$HOME/.clusdr/clusdr.sockCLUSDR_SHUTDOWN_TIMEOUTis not implemented. Only YAMLshutdown_timeout(if > 0) changes the 15s close grace
Numeric caps
| Cap | Value |
|---|---|
| Custom event payload | 64 KiB |
| Topic / lock / lease name | 1–128 characters (A–Z a–z 0–9 . _ -) |
| Locks in the table | 4096 |
| Leases in the table | 4096 |
| Lock/lease TTL | 1ms–24h (default 15s) |
| Watch client buffer (SDK) | 64 events |
Cluster
- Raft and advertised
node.addrdefault 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 composeis a single node withoutinit- 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