Aarkam / Aarkam Wiki / Installation / Rokka Coordinator Quorum & Consensus Setup ARK-ROKKA-COORD-0203
Aarkam - SAT (Standalone Tier Primary Substrate) Consensus Plane Installation • ARK-ROKKA-COORD-0203

Rokka Coordinator Quorum & Consensus Setup

Deploying the distributed control plane, Raft MON consensus quorum, and Rendezvous (HRW) placement resolver.

Last updated: Nov 03, 2026 Classification: Sovereign Tier-4 Enterprise
Document Identifier ARK-ROKKA-COORD-0203
Standard Status
Production Standard
Consensus Protocol Raft MON Quorum
Release Version V-1.0.0-GA (Production Stable)

Rokka.Coordinator (rokka-coordinator) is the distributed consensus authority and cluster topology controller. It manages cluster membership, dynamic Rendezvous (Highest Random Weight - HRW) shard placement across physical failure domains, and maintains operator credentials within embedded Kdouja LSM key-value tables.


1. Prerequisites & Quorum Sizing

  • Quorum Sizing: Production deployments require an odd number of coordinators (\(N = 3\) or \(N = 5\)) across independent physical hosts or racks to guarantee Byzantine-free partition tolerance.
  • Network Ports: Port 7774 (HTTP/2 gRPC) and 57774 (HTTPS / mTLS) between all coordinator nodes, storage daemons, and client ingress gateways.
  • Resource Footprint: 4 Physical Cores, 8 GB ECC RAM, and 50 GB fast NVMe partition for Raft transaction logs and LSM state.

2. Configuration (coordinator.settings.json)

On each quorum host, configure /opt/aarkam/rokka/coordinator.settings.json (or C:\Program Files\Aarkam\Rokka\coordinator.settings.json):

json
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Rokka.Coordinator": "Information"
    }
  },
  "Coordinator": {
    "NodeId": "COORD-NODE-01",
    "ClusterName": "PROD-SOVEREIGN-CLUSTER",
    "HeartbeatIntervalMs": 150,
    "ElectionTimeoutMs": 300,
    "DataDirectory": "/var/lib/rokka/coordinator",
    "PeerNodes": [
      "https://coord-01.rokka.internal:57774",
      "https://coord-02.rokka.internal:57774",
      "https://coord-03.rokka.internal:57774"
    ]
  },
  "Kestrel": {
    "Endpoints": {
      "gRPC": {
        "Url": "http://0.0.0.0:7774",
        "Protocols": "Http2"
      },
      "mTLS": {
        "Url": "https://0.0.0.0:57774",
        "Protocols": "Http2"
      }
    }
  }
}

3. Production Service Registration

3.1 Linux systemd Service (/etc/systemd/system/rokka-coordinator.service)

ini
[Unit]
Description=Aarkam Rokka Sovereign Coordinator & Raft Quorum Daemon
After=network.target
Wants=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/aarkam/rokka
ExecStart=/opt/aarkam/rokka/rokka-coordinator
Restart=always
RestartSec=3s
LimitNOFILE=1048576
LimitMEMLOCK=infinity
Environment="ASPNETCORE_ENVIRONMENT=Production"

[Install]
WantedBy=multi-user.target
bash
sudo systemctl daemon-reload
sudo systemctl enable --now rokka-coordinator
sudo systemctl status rokka-coordinator

3.2 Windows Server Service Registration

powershell
Set-Location "C:\Program Files\Aarkam\Rokka"
.\install-rokka.ps1 -StartServices

4. Verification & Quorum Health

bash
# Run pre-flight health doctor
am doctor --coordinator http://localhost:7774

# Query cluster quorum state
am cluster status