armature-gcp

Crates.ioarmature-gcp
lib.rsarmature-gcp
version0.1.0
created_at2025-12-26 19:30:45.223802+00
updated_at2025-12-26 19:30:45.223802+00
descriptionGoogle Cloud Platform services integration for Armature - dynamically loadable and DI-ready
homepagehttps://pegasusheavy.github.io/armature
repositoryhttps://github.com/pegasusheavy/armature
max_upload_size
id2006119
size107,018
Joseph R. Quinn (quinnjr)

documentation

README

armature-gcp

Google Cloud Platform services integration for the Armature framework.

Features

  • Cloud Storage - Object storage
  • Firestore - NoSQL database
  • Pub/Sub - Message queues
  • Secret Manager - Secrets management
  • BigQuery - Data warehouse

Installation

[dependencies]
armature-gcp = "0.1"

Quick Start

use armature_gcp::{StorageClient, FirestoreClient, PubSubClient};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Cloud Storage
    let storage = StorageClient::new().await?;
    storage.upload("bucket", "object", bytes).await?;

    // Firestore
    let firestore = FirestoreClient::new("project-id").await?;
    firestore.set("collection", "doc", data).await?;

    // Pub/Sub
    let pubsub = PubSubClient::new("project-id").await?;
    pubsub.publish("topic", message).await?;

    Ok(())
}

Authentication

Credentials are loaded from:

  1. GOOGLE_APPLICATION_CREDENTIALS environment variable
  2. Default application credentials
  3. Compute Engine metadata service

License

MIT OR Apache-2.0

Commit count: 0

cargo fmt