背景
很多自托管场景并没有对象存储,只有 NAS、单机服务器或便宜 VPS 上现成可用的 SFTP。当前只能依赖本地挂载再走 local,部署和权限边界都比较粗糙,也不方便直接复用已有的远端文件服务器。
目标
支持将 SFTP 服务器作为存储后端使用,覆盖 AsterDrive 的基础对象读写链路,并复用现有存储策略体系。
范围
- 新增
sftp 存储驱动,与 local / s3 并列
- 支持基础连接配置:主机、端口、用户名、密码、根目录
- 覆盖至少以下能力:
- 文件写入
- 文件读取
- 流式下载
- 删除
- 存在性检查
- 元信息查询
- 后台支持连接测试、错误信息展示与基础配置校验
- 上传路径以服务端 relay 为主,不要求浏览器直传
- 文档需要明确 SFTP 驱动与
local 挂载方案的取舍边界
非目标
- 这一轮不要求支持 presigned / 浏览器直传
- 这一轮不要求支持 SSH 私钥、代理跳板、多因子认证等高级连接能力
- 这一轮不要求做远端目录的额外索引或缓存层
验收标准
- 管理员可以创建并测试 SFTP 存储策略
- 命中该策略的上传、下载、删除、预览链路可以正常工作
- 大文件下载走流式读取,不要求全量缓冲到内存
- 失败场景(认证失败、目录不存在、权限不足、连接超时)能够映射到稳定的错误语义
- 文档清楚说明何时应该优先用
local 挂载,何时应该直接用 SFTP 驱动
- 至少有一组测试覆盖基础读写链路
背景
很多自托管场景并没有对象存储,只有 NAS、单机服务器或便宜 VPS 上现成可用的 SFTP。当前只能依赖本地挂载再走
local,部署和权限边界都比较粗糙,也不方便直接复用已有的远端文件服务器。目标
支持将 SFTP 服务器作为存储后端使用,覆盖 AsterDrive 的基础对象读写链路,并复用现有存储策略体系。
范围
sftp存储驱动,与local/s3并列local挂载方案的取舍边界非目标
验收标准
local挂载,何时应该直接用 SFTP 驱动