Expand description
§ironflow-store
Storage abstraction for the ironflow workflow engine. This crate provides
the RunStore trait and data entities for persisting workflow
runs and steps.
§Implementations
| Store | Feature | Description |
|---|---|---|
InMemoryStore | store-memory (default) | In-process, no external dependencies. |
PostgresStore | store-postgres | Production-ready with SELECT FOR UPDATE SKIP LOCKED. |
§Quick start
use std::collections::HashMap;
use ironflow_store::prelude::*;
use serde_json::json;
let store = InMemoryStore::new();
let run = store.create_run(NewRun {
workflow_name: "deploy".to_string(),
trigger: TriggerKind::Manual,
payload: json!({}),
max_retries: 3,
handler_version: None,
labels: HashMap::new(),
scheduled_at: None,
}).await?;
println!("Run {} is {:?}", run.id, run.status);Re-exports§
pub use entities as models;
Modules§
- api_
key_ store - The
ApiKeyStoretrait – async storage abstraction for API keys. - audit_
log_ store - The
AuditLogStoretrait – async storage abstraction for audit log entries. - entities
- Store entities — data models split by domain.
- error
- Storage error types.
- memory
- In-memory
Storeimplementation for development and testing. - prelude
- Convenience re-exports for common usage.
- secret_
store - The
SecretStoretrait – async storage abstraction for encrypted secrets. - store
- The
RunStoretrait — async storage abstraction for runs and steps. - user_
store - The
UserStoretrait — async storage abstraction for users.