SQLite & Test Mode
Orch8 supports SQLite as a storage backend alongside PostgreSQL. This enables two use cases: lightweight local development and zero-dependency CI testing.
File-backed SQLite
Use SQLite for local development or small self-contained deployments. The same schema as PostgreSQL, the same engine binary.
# File-backed SQLite (WAL mode)
ORCH8_STORAGE_BACKEND=sqlite
ORCH8_DATABASE_URL=./orch8.db
./orch8-server --config orch8.tomlIn-memory test mode
The engine exposes a test mode that uses an in-memory SQLite instance. No external dependencies. No setup. Runs in CI without Docker.
# Rust — use test_mode() in integration tests
let engine = Engine::test_mode().await;
// Register mock handlers
engine.registry().register("send_email", |ctx| async move {
// Inspect ctx.params, return mock output
Ok(json!({ "sent": true, "message_id": "mock-123" }))
});
// Run your sequence and assert state
let instance = engine.create_instance(req).await?;
engine.run_to_completion(instance.id).await?;
let state = engine.get_instance(instance.id).await?;
assert_eq!(state.status, InstanceState::Completed);Signals, queries, cron, and all engine features work identically in test mode. The mock handler registry lets you stub external side effects without making real HTTP calls.