restructuring my_fs for the future #34
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
my_fs is a single monolithic crate containing everything — FUSE filesystem, HTTP flist hub server, CLI tools, storage backends, metadata layer, container
conversion, and scripting — all behind feature flags in one src/ directory.
Split into a Cargo workspace with clear layered crates:
myfs-core — foundation library: metadata (fungi/SQLite), store backends (S3, ZDB, HTTP, dir), cache, config, error types. No binary.
myfs-lib — operations library + myfs binary: FUSE mount, pack/unpack, clone, container conversion, rhai scripting.
myfs-hub — myfs-hub binary: flist hosting server (HTTP, auth, DB). Only depends on myfs-core.
myfstool — myfstool binary: CLI for clone, merge, sync, container ops, rhai script execution. Absorbs the standalone rhai_runner binary.
myfs-test-utils — shared test helpers (dev-dependency only).
Dependency flow: myfs-core ← myfs-lib ← {myfs-hub, myfstool}