restructuring my_fs for the future #34

Open
opened 2026-04-05 15:25:17 +00:00 by delandtj · 0 comments
Owner

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}

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}
rawdaGastan added this to the ACTIVE project 2026-04-07 11:37:02 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geomind_code/my_fs#34
No description provided.