Phase 1: storage + catalog layer

- storaged: object_store backend (LocalFileSystem), PUT/GET/DELETE/LIST endpoints
- shared: arrow_helpers with Parquet roundtrip + schema fingerprinting (2 tests)
- catalogd: in-memory registry with write-ahead manifest persistence to object storage
- catalogd: POST/GET /datasets, GET /datasets/by-name/{name}
- gateway: wires storaged + catalogd with shared object_store state
- Phase tracker updated: Phase 0 + Phase 1 gates passed

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
root
2026-03-27 05:15:27 -05:00
co-authored by Claude Opus 4.6
parent a52ca841c6
commit 655b6c0b37
17 changed files with 2331 additions and 30 deletions
+10
View File
@@ -0,0 +1,10 @@
use object_store::ObjectStore;
use object_store::local::LocalFileSystem;
use std::sync::Arc;
/// Initialize the object store backend.
/// Starts with LocalFileSystem. Swap to S3/RustFS by changing this function.
pub fn init_local(root: &str) -> Arc<dyn ObjectStore> {
std::fs::create_dir_all(root).expect("failed to create storage root");
Arc::new(LocalFileSystem::new_with_prefix(root).expect("failed to init local object store"))
}