Skip to main content

Crate ironflow_artifacts

Crate ironflow_artifacts 

Source
Expand description

§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

StoreFeatureDescription
LocalBlobStoreartifact-local (default)Local filesystem, for development, CI and shared-volume deployments.

§Quick start

use ironflow_artifacts::prelude::*;

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);

Modules§

blob_store
The BlobStore trait – async blob storage for artifact payloads.
error
Error type for blob storage operations.
local
LocalBlobStore – artifact blobs on the local filesystem.
name
Artifact name validation and storage key derivation.
prelude
Convenience re-exports for common usage.

Functions§

stream_from_bytes
Wrap an in-memory buffer as a ByteStream.
stream_from_file
Read an open file as a ByteStream, in fixed-size chunks.
stream_from_path
Open a file and read it as a ByteStream.