feat(cluster): 支持远程源服务器集中备份

为 Master 本地磁盘增加可选流式中转,远程 Agent 可直接把产物写入中央存储并通过反向通道恢复。

持久化并校验传输模式,兼容既有 Agent 本机磁盘目标,补齐鉴权、完整性、配额、访问保护、前端配置及双向链路测试。

Closes #101
This commit is contained in:
Awuqing
2026-08-07 05:54:34 +08:00
parent 05dd1baa61
commit cc50637b4b
28 changed files with 1012 additions and 180 deletions
+10 -1
View File
@@ -34,6 +34,14 @@ const (
TypeFTP = string(ProviderTypeFTP)
)
const (
// TransferModeDirect lets an Agent write to a network-accessible backend.
TransferModeDirect = "direct"
// TransferModeMasterRelay streams an artifact through the authenticated
// Agent API so a remote source can use storage mounted only on the Master.
TransferModeMasterRelay = "master_relay"
)
type ObjectInfo struct {
Key string `json:"key"`
Size int64 `json:"size"`
@@ -99,7 +107,8 @@ func ParseProviderType(value string) ProviderType {
}
type LocalDiskConfig struct {
BasePath string `json:"basePath"`
BasePath string `json:"basePath"`
MasterRelay bool `json:"masterRelay"`
}
type S3Config struct {