Environment Variables
| Variable | Default | Description |
|---|---|---|
CONCORDANCE_NODE_ID | node-{pid} | Unique node identifier |
CONCORDANCE_LISTEN | 127.0.0.1:4100 | Listen address (host:port) |
CONCORDANCE_DATA_DIR | ./data | Storage directory for SQLite databases |
CONCORDANCE_BOOTSTRAP | false | Bootstrap as single-node leader |
CONCORDANCE_JOIN | — | Address of existing cluster node to join |
CONCORDANCE_API_KEY | dev | Full-access key (used by Diminuendo) |
CONCORDANCE_AGENT_API_KEY | auto-generated | Read-only key (used by Podium agents) |
CLI Arguments
All environment variables can be overridden via CLI:Raft Tuning
These are compiled defaults inservice/raft/types.ts:
| Parameter | Value | Description |
|---|---|---|
electionTimeoutMin | 150ms | Minimum election timeout |
electionTimeoutMax | 300ms | Maximum (randomized per election) |
heartbeatInterval | 50ms | Must be much less than election timeout |
maxAppendEntries | 100 | Max entries per AppendEntries RPC |
snapshotThreshold | 10,000 | Log entries before compaction |
proposalTimeout | 5,000ms | Max wait for quorum commit |
Diminuendo Integration
Diminuendo’sAppConfig.ts includes:
ConcordanceProcess spawns a single-node Concordance as a child process. In production, it’s a no-op — Concordance runs as a separate cluster.