Standard Library Module

std.cloud — Multi-Cloud Storage & Distributed Raft Mesh

A complete function-by-function guide to multi-cloud object storage (AWS S3, GCP GCS, Azure Blob), peer-to-peer Raft consensus, and zero-copy RPC actor messaging in Nyx.

1. Why Does This Module Exist?

🛑 The Real-World Problem

Writing cloud apps in Python or Node.js requires massive SDK bundles (AWS SDK is > 100 MB), suffers from vendor lock-in with incompatible APIs between AWS, Google Cloud, and Azure, and building distributed high-availability services requires external heavy daemons (like Consul or etcd).

🛡️ The Nyx Solution

std.cloud provides a single unified zero-dependency API across AWS S3, Google GCS, and Azure Blob with native HTTP/3 streaming, plus an embedded native Raft consensus engine so any Nyx binary can self-cluster across nodes with zero external servers.

2. Function Reference & Tutorial

cloud::create_client(provider: String, region: String) -> CloudStorageClient

Creates a cloud storage client configured for "aws_s3", "gcp_gcs", or "azure_blob".

Example:

import std.cloud;

// Instantly connect without heavy external SDK dependencies:
let s3_client = cloud::create_client("aws_s3", "us-east-1");
let gcs_client = cloud::create_client("gcp_gcs", "europe-west3");

cloud::put_object(client: &CloudStorageClient, bucket: String, key: String, data: String) -> bool

Streams data directly to the specified cloud bucket and key location with zero-copy buffer pooling.

Example:

import std.cloud;

let client = cloud::create_client("aws_s3", "us-east-1");
let ok = cloud::put_object(&client, "telemetry-bucket", "metrics/2026-08.json", '{"status":"healthy"}');
if ok {
    print("Uploaded to S3 successfully!");
}

cloud::get_object(client: &CloudStorageClient, bucket: String, key: String) -> String

Downloads object payload string directly into the caller's regional arena.

Example:

import std.cloud;

let client = cloud::create_client("aws_s3", "us-east-1");
let content = cloud::get_object(&client, "telemetry-bucket", "metrics/2026-08.json");
print("Downloaded content: {content}");

cloud::join_raft_cluster(node_id: String, peers: [String]) -> RaftNode

Initializes an embedded distributed Raft consensus state machine to replicate key-value state across servers with leader election and log replication.

Example:

import std.cloud;

let peers = ["10.0.0.1:9000", "10.0.0.2:9000", "10.0.0.3:9000"];
let node = cloud::join_raft_cluster("node-1", peers);
print("Raft cluster active! Leader: {node.get_leader()}");

3. Complete Tutorial: Distributed Multi-Cloud Backup Service

import std.cloud;
import std.time;

fn main() {
    print("Initializing Multi-Cloud Sync Engine...");

    let s3 = cloud::create_client("aws_s3", "us-east-1");
    let gcs = cloud::create_client("gcp_gcs", "us-central1");

    let backup_data = '{"database_snapshot":"2026-08-31T12:00:00Z","records":5000000}';

    // 1. Upload primary snapshot to AWS S3
    let s3_ok = cloud::put_object(&s3, "primary-backups", "db/latest.json", backup_data);
    print("AWS S3 Upload: {s3_ok ? 'SUCCESS' : 'FAILED'}");

    // 2. Mirror snapshot to Google Cloud Storage (Cross-Cloud Disaster Recovery)
    let gcs_ok = cloud::put_object(&gcs, "dr-mirror-bucket", "db/latest.json", backup_data);
    print("GCP GCS Mirror: {gcs_ok ? 'SUCCESS' : 'FAILED'}");

    print("Zero-vendor-lockin multi-cloud synchronization complete!");
}

← Previous: std.sec (Security) | Next: std.ui (Material UI Engine) →