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(())
# }