Aarkam / Aarkam Wiki / References / Aarkam.Gateway Architecture & Protocols AARKAM-REF-0501
Unified S3 Data Plane (SAT & SCT) API Reference References • AARKAM-REF-0501

Aarkam.Gateway Architecture & Protocols

Technical overview of the high-performance ASP.NET Core Kestrel gRPC and S3 REST Gateway interface.

Last updated: Nov 03, 2026 Classification: Sovereign Tier-4 Enterprise
Document Identifier AARKAM-REF-0501
Standard Status
Normative Spec
Security Classification Sovereign Tier-4 Enterprise
Specification Revision V-1.0.0-GA • 3 min read

Aarkam.Gateway is the unified API gateway interface of the distributed storage cluster. Built on high-performance ASP.NET Core Kestrel and gRPC, it exposes high-concurrency streaming endpoints for S3-compatible REST clients and the native SDK (Aarkam.Client).


1. Gateway Routing Architecture

⚡ Gateway Network Ports & Protocol Routing
Port Architecture
Port 57772 / 7772
Rokka S3 REST Gateway
HTTPS / TLS 1.3
Port 57774
Rokka Coordinator
Raft MON Quorum / mTLS
Port 57775
Rokka Storage Daemon
Kdouja Direct I/O / gRPC

2. Core Responsibilities

  1. Protocol Translation & S3 Compatibility: Converts incoming S3 REST requests (PUT, GET, DELETE, HEAD) into high-performance gRPC protocol buffer streams (StoreChunk, RetrieveChunk).
  2. Stream Demultiplexing: Splits large incoming byte streams into 4KB data pages, coordinating parallel transmission to the physical storage nodes resolved from the hash ring.
  3. Zero-Copy Memory Semantics: Uses unmanaged native memory buffers and ReadOnlySpan<byte> pipelines, guaranteeing zero intermediate memory allocations in the managed .NET heap.

3. Protocol Buffer Contracts (StorageService.proto)

The gateway hosts the core protocol buffer RPC contracts:

protobuf
syntax = "proto3";
package aarkam.storage;

service StorageService {
    // Client-to-Gateway streaming upload RPC
    rpc StoreChunk(stream ChunkWriteRequest) returns (ChunkWriteResponse);
    
    // Gateway-to-Client streaming download RPC
    rpc RetrieveChunk(ChunkReadRequest) returns (stream ChunkReadResponse);
}

message ChunkWriteRequest {
    string bucket = 1;
    string key = 2;
    int64 chunk_index = 3;
    bytes payload = 4;
    string checksum_crc32c = 5;
}

message ChunkWriteResponse {
    bool success = 1;
    string etag = 2;
    int64 bytes_written = 3;
}

4. Port Allocations & Endpoints

Protocol Default Port Transport Purpose
AarkamIO Portal 57771 / 7771 HTTPS / HTTP (TLS 1.3) Web Management Console, Genesis Ceremony (/genesis), Sovereign IAM.
Rokka S3 Gateway 57772 / 7772 HTTPS / HTTP (TLS 1.3) Client-facing AWS SigV4 S3 REST object API.
Rokka Coordinator 57774 / 7774 mTLS (HTTP/2 gRPC) Distributed Raft MON consensus quorum, HRW hash ring topology.
Abodi / Kdouja Storage 57775 / 7775 mTLS (gRPC IPC) Direct I/O (66KB sector) chunk transit and parallel replication.
Abodi Diagnostics Agent 57776 / 7776 HTTPS / HTTP REST Node diagnostics, S.M.A.R.T. telemetry, 72h ML failure runway.
Prometheus Metrics 9090 HTTP OpenTelemetry & Prometheus cluster metrics scrape target.