Files
rustfs/docs/architecture
Henry Guo a63b79004c fix(scanner): make distributed usage convergence authoritative (#5151)
* fix(scanner): make distributed usage cycles authoritative

* fix(scanner): close distributed refresh races

* fix(config): align scanner reload integration

* fix(admin): scope config test helpers

* fix(scanner): harden distributed usage convergence

* fix(scanner): preserve rolling activity compatibility

* fix(admin): expose non-secret optional config values

* fix(scanner): acknowledge distributed dirty usage

* fix(ecstore): make bucket mutations cancellation safe

* fix(scanner): preserve pending dirty acknowledgements

* test(obs): account for superseded scanner metric

* fix(api): reject excess detached bucket mutations

* test: close scanner convergence coverage gaps

* fix(scanner): make path tracking cleanup one-shot

---------

Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com>
Co-authored-by: houseme <housemecn@gmail.com>
2026-07-25 18:45:16 +08:00
..

Architecture Documentation

Durable architecture reference for RustFS: migration guardrails, runtime contracts, boundary rules, and support matrices.

Two rules keep this directory healthy:

  1. Durable reference only. One-shot implementation plans, task trackers, and PR templates do not belong in the repository — keep them in the issue tracker or your local worktree. When their work closes, delete them rather than archiving them here.
  2. No copies of other sources of truth. Crate lists come from Cargo.toml, CI steps from .github/workflows/ci.yml, code structure from the code. scripts/check_doc_paths.sh fails the pre-commit gate when a doc here references a file path that no longer exists.

Start here

  • overview.md — migration baseline, phase order, core principles

CI-enforced core (required by scripts/check_architecture_migration_rules.sh)

Contracts & invariants

Support matrices (release-facing, keep current)

Inventories & baselines (snapshots that feed migration work)

Historical plans and trackers (rebalance/decommission phases, migration-progress ledger, and the one-shot migration snapshots that fed it — startup timeline, scheduler baseline, profiling/NUMA capability inventory, KMS development defaults inventory) were retired in 2026-07 once the architecture-review ledger they served closed out (backlog#660/#665). Planning documents are no longer kept in the repository.