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.
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) and57774(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