ironflow-artifacts 0.1.0

Blob storage abstraction for ironflow workflow artifacts
Documentation

ironflow-artifacts

Blob storage for ironflow workflow artifacts: the bytes a step produces and a later step consumes.

This crate owns the payloads only. Their metadata (name, MIME type, size, SHA-256, owning step) lives in ironflow-store and is the source of truth: a blob without a metadata row is never listed and never served.

Implementations

Store Feature Description
LocalBlobStore artifact-local (default) Local filesystem, for development, CI and shared-volume deployments.

Quick start

use ironflow_artifacts::prelude::*;

# async fn example() -> Result<(), ArtifactError> {
let store = LocalBlobStore::new("/var/lib/ironflow/artifacts");

let key = storage_key(uuid::Uuid::now_v7(), uuid::Uuid::now_v7(), uuid::Uuid::now_v7());
let digest = store.put(&key, stream_from_bytes(b"report".to_vec())).await?;

println!("{} bytes, sha256 {}", digest.size_bytes, digest.sha256);
# Ok(())
# }