mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-27 16:48:58 +00:00
4.2 KiB
4.2 KiB
Architecture Migration Progress
Status values: [ ] not started, [~] in progress, [x] complete, [!] blocked.
Current Context
- Issue:
rustfs/backlog#660 - Branch:
overtrue/arch-admin-route-snapshot - Baseline:
upstream/mainat0f9584c8d9351c757437405ee69a4e64bbcd94b5 - PR type for this branch:
docs-only - Runtime behavior changes: none
- Rust code changes: none
- Docs changes: add the admin route/action snapshot baseline for later admin module movement and route-matrix guard work.
Phase 0 Tasks
G-001Refreshmainand record baseline.- Acceptance: baseline commit, title, and branch are recorded.
- Verification:
git fetch upstream main --prune;git rev-parse upstream/main.
G-002Create migration tracking checklist.- Acceptance: this file records task state, context, verification, and handoff.
G-003Classify PR types.- Acceptance:
crate-boundaries.mdlists exactly one allowed PR type per PR.
- Acceptance:
G-004Define re-export and wrapper policy.- Acceptance: temporary compatibility code must use
RUSTFS_COMPAT_TODO.
- Acceptance: temporary compatibility code must use
G-005Add dependency direction guard.- Acceptance:
./scripts/check_layer_dependencies.shpasses on currentupstream/mainwhile still rejecting new unaccepted layer dependencies.
- Acceptance:
- [~]
G-006Create migration loss-prevention checks.- Current branch: not in scope.
- Next PR: add checks for public re-export, route matrix, and storage trait coverage before pure moves.
G-007Create startup timeline table.- Acceptance:
startup-timeline.mdrecords current binary startup order, side effects, fatal boundaries, and readiness stages.
- Acceptance:
G-008Capture admin route-action snapshot.- Acceptance:
admin-route-action-snapshot.mdrecords current route families, handler ownership, authorization actions, public exceptions, table-catalog routes, and/minio/admincompatibility alias behavior.
- Acceptance:
G-009Enforce pre-push three-expert review.- Acceptance:
crate-boundaries.mdrequires quality/architecture, migration-preservation, and testing/verification review before push.
- Acceptance:
- [~]
TEST-PRTYPE-001Check PR type enum consistency.- Current branch: not in scope.
- Next PR: add a mechanical check that all migration docs use the same PR type vocabulary.
Next PRs
docs-only: inventoryecstore::config::{Config, KV, KVS}consumers.ci-gate: add focused checks for PR type vocabulary and temporary compatibility marker/register consistency.test-only: add a mechanical admin route matrix guard from the current snapshot androute_registration_test.rs.
Pre-Push Review Log
| Expert | Status | Notes |
|---|---|---|
| Quality/architecture | pass | Final review confirmed route/action/public-exception rows are source-backed, including OIDC path-based bypass, console bypass, credential-only metrics/list-remote-targets, notification targets, table-catalog prefix, and site-replication edit |
| Migration preservation | pass | Final review confirmed this branch is docs-only, aligned with Phase 0, and does not touch runtime logic, storage hot paths, global state, compatibility implementation, or crate boundaries |
| Testing/verification | pass | Final review accepted docs-only verification with layer guard, metrics reference guard, diff checks, staged diff coverage, and future route-matrix handoff |
Verification Notes
Passed:
./scripts/check_layer_dependencies.sh./scripts/check_metrics_migration_refs.shgit diff --checkgit diff --cached --check- focused source review of
rustfs/src/admin/mod.rs,rustfs/src/admin/router.rs,rustfs/src/admin/route_registration_test.rs, andrustfs/src/admin/handlers/*.rsroute/action declarations
Handoff Notes
- Keep Phase 0 PRs small. Do not start Config, Storage API, Runtime, or ECStore
movement inside this
docs-onlybranch. - Keep CI checks in a separate
ci-gatePR so the PR type rule remains enforceable. - Do not add temporary compatibility code without a matching
RUSTFS_COMPAT_TODO(<task-id>)marker and cleanup-register entry.