Core storage, metadata, search, and runtime abstractions for the Ferro platform. Provides production-ready storage backends (SQLite, PostgreSQL, S3, GCS, Azure Blob), a Tantivy-based full-text search engine, and a WASM worker runtime powered by Wasmtime.
#![allow(unused)]
fn main() {
use ferro_core::storage::InMemoryStorageEngine;
use ferro_common::storage::StorageEngine;
use bytes::Bytes;
let engine = InMemoryStorageEngine::new();
let meta = engine.put("/hello.txt", Bytes::from("world"), "user1").await?;
}
#![allow(unused)]
fn main() {
use ferro_core::search::SearchEngine;
use std::path::Path;
let engine = SearchEngine::new(Path::new("/tmp/ferro-index"))?;
engine.index("/docs/readme.txt", "Introduction to Ferro", &meta).await?;
let results = engine.search("introduction", 10).await?;
}
#![allow(unused)]
fn main() {
use ferro_core::wasm::{WasmWorkerRuntime, WorkerConfig};
let runtime = WasmWorkerRuntime::new(WorkerConfig::default())?;
runtime.register("*.md", &wasm_bytes, "process")?;
let result = runtime.execute("/docs/readme.md", &content).await?;
}
# Cargo.toml
ferro-core = { version = "0.1", features = ["s3"] }
#![allow(unused)]
fn main() {
use ferro_core::ObjectStoreStorageEngine;
use object_store::aws::AmazonS3Builder;
use std::sync::Arc;
let s3 = AmazonS3Builder::new()
.with_bucket_name("my-bucket")
.build()?;
let engine = ObjectStoreStorageEngine::with_prefix(Arc::new(s3), "ferro");
}