Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ members = [
"crates/scheduler",
"crates/cache",
"crates/tape",
"crates/vtl",
]

[workspace.package]
Expand Down
12 changes: 8 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: build build-debug fmt fmt-check clippy test unit test-unit check check-all check-safe clean help install-hooks install-tools setup lint run-metadata run-gateway run-scheduler run-cache run-tape
.PHONY: build build-debug fmt fmt-check clippy test unit test-unit vtl-unit vtl-check check check-all check-safe clean help install-hooks install-tools setup lint run-metadata run-gateway run-scheduler run-cache run-tape

.DEFAULT_GOAL := help

Expand All @@ -21,11 +21,15 @@ test:
@cargo test --workspace --all-features
unit test-unit:
@cargo test --workspace --lib --bins
vtl-unit:
@cargo test -p coldstore-vtl --lib --tests
vtl-check:
@cargo check -p coldstore-vtl
check:
@cargo check --all-targets --all-features
check-all: fmt-check clippy test
check-safe: fmt-check clippy unit build-debug
@echo "Safe verification passed (fmt/clippy/unit/build only)."
check-safe: fmt-check clippy unit vtl-unit build-debug
@echo "Safe verification passed (fmt/clippy/unit/vtl-unit/build only)."
clean:
@cargo clean

Expand Down Expand Up @@ -59,6 +63,6 @@ help:
@echo "ColdStore Workspace Makefile"
@echo ""
@echo "Build: build build-debug clean"
@echo "Quality: fmt fmt-check clippy test unit check check-all check-safe lint"
@echo "Quality: fmt fmt-check clippy test unit vtl-unit vtl-check check check-all check-safe lint"
@echo "Run: run-metadata run-gateway run-scheduler run-cache run-tape"
@echo "Setup: setup install-tools install-hooks"
3 changes: 2 additions & 1 deletion README_RUST.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ ColdStore 是**纯冷归档系统**(类似 AWS Glacier Deep Archive):

| 分期 | 状态 | 已落地能力 |
|------|------|------------|
| Phase 1 | 已落地 / 可单测 | Gateway/Scheduler/Metadata/Cache 本地闭环;bucket/object CRUD;Put/Head/Get/Delete/Restore/List;HDD Cache staging/restored;Phase-1 archive 标记 Cold 并清理 staging |
| Phase 1 | 已落地 / 可单测 | Gateway/Scheduler/Metadata/Cache 本地闭环;bucket/object CRUD;Put/Head/Get/Delete/Restore/List;HDD Cache staging/restored;Phase-1 archive 标记 Cold 并清理 staging;TapeService + coldstore-vtl 安全模拟驱动/带库/load/unload/filemark 读写闭环;Scheduler archive batch 可注入 cache+tape writer 并写入 ArchiveBundle/filemark 元数据;CacheArchiveClient 已接入真实 CacheService staging list/get/delete 单测;TapeArchiveClient 已接入真实 TapeService WriteBundle/ReadBundle gRPC 单测 |
| Phase 2A | 已启动 / 可单测 | Metadata opt-in 二进制 snapshot:`MetadataServiceImpl::new_with_snapshot(config, path)` 支持写入后保存、重启后恢复 bucket/object/task/worker/tape 等状态 |
| Phase 2B | 下一步 | 将 Metadata 状态机接入 OpenRaft + RocksDB/openraft-rocksstore,补齐安全的 Raft 状态机单测和多节点一致性测试 |

Expand All @@ -32,6 +32,7 @@ ColdStore 是**纯冷归档系统**(类似 AWS Glacier Deep Archive):
| coldstore-scheduler | bin | 调度 Worker(业务中枢) |
| coldstore-cache | bin | 缓存 Worker(独立进程,HDD/SPDK) |
| coldstore-tape | bin | 磁带 Worker(独立物理节点) |
| coldstore-vtl | lib | mhVTL/虚拟磁带库 harness:lsscsi/mtx/mt/sg 命令封装 + 安全内存模拟器 |

## 组件间通信

Expand Down
2 changes: 2 additions & 0 deletions crates/scheduler/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,6 @@ tokio-stream = { workspace = true }
prost-types = { workspace = true }

[dev-dependencies]
coldstore-cache = { path = "../cache" }
coldstore-metadata = { path = "../metadata" }
coldstore-tape = { path = "../tape" }
Loading
Loading