Rokka Engine is the autonomous, zero-cloud data, Control plane of the Aarkam Sovereign Storage.
248
Rokka Sovereign Storage Engine is the autonomous, zero-cloud data plane and control plane of the Aarkam Sovereign Storage Ecosystem. Engineered for strict air-gapped sovereign environments, Rokka combines:
rokka-coordinator: Stateless control plane, Raft consensus quorum, dynamic Highest Random Weight (HRW / Rendezvous) node placement, and mTLS Node Enrollment Certificate Authority (EnrollNode).rokka-gateway: Streaming S3 SigV4 compatible REST gateway, SIMD-accelerated Cauchy Reed-Solomon erasure coding, client-side AES-256-GCM envelope encryption, and speculative hedged download pipelines.Rokka operates with complete autonomy—requiring zero external database dependencies, zero third-party cloud callbacks, and zero external runtime frameworks.
PutObject, GetObject, DeleteObject, HeadObject, ListObjectsV2, CreateBucket, DeleteBucket).Before deploying the Rokka container substrate, verify that your environment satisfies the following architectural and sizing prerequisites:
Rokka operates as the Stateless Control Plane (rokka-coordinator) and Line-Rate S3 Streaming Gateway (rokka-gateway). Rokka does not store raw disk blocks itself; erasure chunks are streamed directly across physical storage nodes hosting the Aarkam Abodi Storage Node Daemon:
aarkam/aarkam.abodi (https://hub.docker.com/r/aarkam/aarkam.abodi)O_DIRECT), hosting the Kdouja PageStore, and streaming real-time hardware vitals, NVMe SMART telemetry, and predictive Weibull health scoring to the Rokka Coordinator.In accordance with Saudi NCA ECC-2:2024 (§2-1-3) and FIPS 140-3 Zero-Trust requirements, passphrases and encryption keys must never be stored in static configuration files:
ROKKA_CLUSTER_CA_PASSWORD: Strong passphrase securing the cluster mTLS Root CA certificate (ca.pfx). Must be supplied via environment variable or secret mount ($CREDENTIALS_DIRECTORY/rokka_ca_password or /run/secrets/rokka_ca_password).ROKKA_MASTER_KEY: 64-character hexadecimal AES-256 master cryptographic key used for per-chunk envelope key derivation.ROKKA_WAL_ENCRYPTION_KEY: 64-character hexadecimal key used to encrypt in-process KdoujaKV metadata write-ahead logs.x86_64 (AMD64) CPU with AVX2 (or AVX-512 for line-rate $\text{GF}(2^8)$ Galois Field Cauchy erasure matrix performance).7774/57774 (Coordinator) and 7772/57772 (Gateway), with bidirectional network routing to Abodi nodes on ports 7775/57775.| Tag | Architecture | Base OS | Description |
|---|---|---|---|
v1.0.2, 1.0.2, latest | linux/amd64 (x86_64, AVX2) | Ubuntu 24.04 LTS Noble (dotnet/aspnet:10.0) | Official Production Release with embedded Coordinator, Gateway, and health monitoring. |
docker run -d \
--name rokka-substrate \
-p 7774:7774 \
-p 57774:57774 \
-p 7772:7772 \
-p 57772:57772 \
-v rokka_metadata:/var/lib/rokka/metadata \
-v rokka_data:/var/lib/rokka/data \
-e ROKKA_ROLE=all \
-e ROKKA_CLUSTER_CA_PASSWORD=AARKAM_SOVEREIGN_CA_SECRET_PASSPHRASE \
-e ROKKA_MASTER_KEY=AARKAM_SOVEREIGN_MASTER_KEY_SECRET \
-e ROKKA_WAL_ENCRYPTION_KEY=AARKAM_SOVEREIGN_WAL_SECRET_KEY \
aarkam/aarkam.rokka:v1.0.2
services:
rokka:
image: aarkam/aarkam.rokka:v1.0.2
container_name: rokka-substrate
restart: unless-stopped
ports:
- "7774:7774" # Coordinator HTTP
- "57774:57774" # Coordinator HTTPS
- "7772:7772" # Gateway HTTP (S3)
- "57772:57772" # Gateway HTTPS (S3)
volumes:
- rokka_metadata:/var/lib/rokka/metadata
- rokka_data:/var/lib/rokka/data
- rokka_logs:/var/log/rokka
- rokka_config:/etc/rokka
environment:
- ASPNETCORE_ENVIRONMENT=Production
- DOTNET_CLI_TELEMETRY_OPTOUT=1
- ROKKA_ROLE=all
- ROKKA_CLUSTER_CA_PASSWORD=AARKAM_SOVEREIGN_CA_SECRET_PASSPHRASE
- ROKKA_MASTER_KEY=AARKAM_SOVEREIGN_MASTER_KEY_SECRET
- ROKKA_WAL_ENCRYPTION_KEY=AARKAM_SOVEREIGN_WAL_SECRET_KEY
volumes:
rokka_metadata:
rokka_data:
rokka_logs:
rokka_config:
| Port | Protocol | Encryption | Role | Description |
|---|---|---|---|---|
| 7774 | HTTP/1.1 | Cleartext | Coordinator | Health check (/health), Prometheus metrics (/metrics) |
| 57774 | HTTP/2 | mTLS | Coordinator | Raft consensus, node enrollment CA, and topology sync |
| 7772 | HTTP/1.1 | Cleartext | Gateway | Standard S3 REST endpoints (PutObject, GetObject) |
| 57772 | HTTP/1.1 & 2 | TLS | Gateway | Secure SigV4 S3 REST endpoint |
Verify the running container:
# Check Coordinator health
curl -f http://127.0.0.1:7774/health
# Check Gateway health
curl -f http://127.0.0.1:7772/health
Proprietary — Copyright © 2026 Aarkam.IO. All rights reserved.
Content type
Image
Digest
sha256:e0cccb479…
Size
185.5 MB
Last updated
6 days ago
docker pull aarkam/aarkam.rokka