跳转到主要内容

PGSTY SILO 博客

  • SILO 20260916 发布注记

    发布于 发布注记

    ReleaseSilo

    Featured Image for SILO 20260916 发布注记

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本文关于 #79 分片上传列举的旧方案、启用建议与当时进度仅保留为历史记录;后续设计已由最新设计决策(中文)覆盖,请参考新版。新实现已合入主干、尚未随 Server 版本发布;这里记载的旧版本行为和其他主题结论不因此改变。 English: The #79 multipart-listing proposals, enablement …

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本文关于 #79 分片上传列举的旧方案、启用建议与当时进度仅保留为历史记录;后续设计已由最新设计决策(中文)覆盖,请参考新版。新实现已合入主干、尚未随 Server 版本发布;这里记载的旧版本行为和其他主题结论不因此改变。 English: The #79 multipart-listing proposals, enablement …

  • mcli 20260916 发布

    发布于 发布注记

    Releasemcli

    Featured Image for mcli 20260916 发布

    版本: RELEASE.2026-09-16T00-00-00Z · 软件包: 20260916000000.0.0 · 源码: e952aa78f10a。 相对 20260913 的变化 接入 silo-pkg v3.14.1、上游 minio-go v7.3.1-0.20260915093545-32e1f32cb176 和 JWX v3.3.0。CopyObject 会重试并报告 HTTP 200 响应内嵌的 S3 错误,避免复制失败后授权 mv 删除源对象;JWX 正确转义输出 JSON …

    版本: RELEASE.2026-09-16T00-00-00Z · 软件包: 20260916000000.0.0 · 源码: e952aa78f10a。 相对 20260913 的变化 接入 silo-pkg v3.14.1、上游 minio-go v7.3.1-0.20260915093545-32e1f32cb176 和 JWX v3.3.0。CopyObject 会重试并报告 HTTP 200 响应内嵌的 S3 错误,避免复制失败后授权 mv 删除源对象;JWX 正确转义输出 JSON …

  • mcli 20260913 发布

    发布于 发布注记

    Releasemcli

    Featured Image for mcli 20260913 发布

    版本: RELEASE.2026-09-13T00-00-00Z · 软件包: 20260913000000.0.0 · 源码: 4f609a4d。 相对 20260903 的变化 mirror --remove --watch 保留目标端历史版本。 服务重启的 dry run 只显示计划,不执行重启;明确非交互环境行为。 传输与 S3 Select 出错时返回失败;空上传遵守显式校验和参数;quiet 模式下仍输出 pipe JSON。 布尔环境变量接受 on/off,修复跨平台 …

    版本: RELEASE.2026-09-13T00-00-00Z · 软件包: 20260913000000.0.0 · 源码: 4f609a4d。 相对 20260903 的变化 mirror --remove --watch 保留目标端历史版本。 服务重启的 dry run 只显示计划,不执行重启;明确非交互环境行为。 传输与 S3 Select 出错时返回失败;空上传遵守显式校验和参数;quiet 模式下仍输出 pipe JSON。 布尔环境变量接受 on/off,修复跨平台 …

  • silo-pkg 3.14.0 发布

    发布于 发布注记

    Releasepkg

    Featured Image for silo-pkg 3.14.0 发布

    v3.14.0 于 2026-09-13 发布, 源码为 827f8109。 消费者直接引用 github.com/pgsty/silo-pkg/v3。 密码策略迁移 本版改变授权语义。 公共方法 Policy.IsAllowedActions 默认报告 admin:ChangeMyPassword,除非被明确拒绝; admin:CreateUser 必须显式授权。配套 Server/Console 中,单独拒绝 CreateUser 不再锁定调用者自己的密码, 拒绝 …

    v3.14.0 于 2026-09-13 发布, 源码为 827f8109。 消费者直接引用 github.com/pgsty/silo-pkg/v3。 密码策略迁移 本版改变授权语义。 公共方法 Policy.IsAllowedActions 默认报告 admin:ChangeMyPassword,除非被明确拒绝; admin:CreateUser 必须显式授权。配套 Server/Console 中,单独拒绝 CreateUser 不再锁定调用者自己的密码, 拒绝 …

  • SN-2026-011:修复与发布状态

    发布于 安全编年史

    SecuritySilo

    Featured Image for SN-2026-011:修复与发布状态

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 截至 2026-09-13: SN-2026-011 已在 Server 主分支修复,起始提交为 123325430。 最新公开 Server RELEASE.2026-09-03T13-18-01Z 及此前公开版本仍受影响。 pkg v3.14.0、mcli 20260913 发布不代表已经发布修 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 截至 2026-09-13: SN-2026-011 已在 Server 主分支修复,起始提交为 123325430。 最新公开 Server RELEASE.2026-09-03T13-18-01Z 及此前公开版本仍受影响。 pkg v3.14.0、mcli 20260913 发布不代表已经发布修 …

  • 桶配置复制:来源时间、删除与确定性收敛

    发布于 设计

    设计复制S3评审

    Featured Image for 桶配置复制:来源时间、删除与确定性收敛

    2026-09-17 发布更新: 本文记录的 #77 修复已随 Server 20260916 发布,删除记录导出默认仍关闭;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 #77 是已复现的站点复制正确性问题。接收端把来源时间改成到达时间,可能拒绝真正较新的删除;部分配置删除后不再导出时间,断线期间遗漏的删除也无法被 heal 找回。单独补一个 DELETE 分支不能解决这两个问题。 合并状态(2026-09-12): 修复与研究归档已通过 …

    2026-09-17 发布更新: 本文记录的 #77 修复已随 Server 20260916 发布,删除记录导出默认仍关闭;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 #77 是已复现的站点复制正确性问题。接收端把来源时间改成到达时间,可能拒绝真正较新的删除;部分配置删除后不再导出时间,断线期间遗漏的删除也无法被 heal 找回。单独补一个 DELETE 分支不能解决这两个问题。 合并状态(2026-09-12): 修复与研究归档已通过 …

  • 复制可靠性:删除完成、MRF 可见性与 resync 取消

    发布于 设计

    设计复制S3评审

    Featured Image for 复制可靠性:删除完成、MRF 可见性与 resync 取消

    2026-09-17 发布更新: 本文记录的修复(PR #162、第二轮 PR #196 及第三轮清除修复)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 #153、#152、#137 的分析、方案取舍、评审与实施结论。三者属于同一组复制可靠性问题,但分别发生在操作分类、后台恢复可见性和任务生命周期上,不能靠一个统一的重试补丁解决。 截至 2026-09-09: PR #162 已合并为 …

    2026-09-17 发布更新: 本文记录的修复(PR #162、第二轮 PR #196 及第三轮清除修复)已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 #153、#152、#137 的分析、方案取舍、评审与实施结论。三者属于同一组复制可靠性问题,但分别发生在操作分类、后台恢复可见性和任务生命周期上,不能靠一个统一的重试补丁解决。 截至 2026-09-09: PR #162 已合并为 …

  • 未签名的 Header 不属于请求

    发布于 设计

    设计安全SigV4CopyObjectPresigned兼容性

    Featured Image for 未签名的 Header 不属于请求

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 SILO 的未签名头覆盖修复,核心提交为 123325430,已通过 PR #173 合并,台账编号 SN-2026-011。该问题由 Oren Yomtov 针对已发布版本报告,并在本地两条签名路径上均已复现。 2026-09-11 状态: 原始修复已推送,并通过 PR #173 合并。 …

    2026-09-17 发布更新: 本文记录的九月源码修复已随 Server 20260916 发布;协调升级、可选功能启用条件和剩余限制仍按各节执行。下方带日期的源码状态与验证记录保留当时的范围。 本文记录 SILO 的未签名头覆盖修复,核心提交为 123325430,已通过 PR #173 合并,台账编号 SN-2026-011。该问题由 Oren Yomtov 针对已发布版本报告,并在本地两条签名路径上均已复现。 2026-09-11 状态: 原始修复已推送,并通过 PR #173 合并。 …

  • SILO Console 2.4.0 发布

    发布于 发布注记

    ReleaseConsole

    Featured Image for SILO Console 2.4.0 发布

    v2.4.0 于 2026-09-08 发布, 源码为 c103d08e。 9 月 16 日更新: 当前版本为 Console v2.4.1。本篇保留 v2.4.0 的行为与依赖记录。 已发布行为 对象目录默认每页 100 条,可选 50、100、250、500、1000。每页只发一次 S3 continuation-token 请求;排序、筛选和选择作用于当前页,不扫描整个目录,没有无限制的“全部”模式。 版本删除绑定选定对象,目录删除限制在其前缀内。生命周期编辑保留独立动作和界面未暴露的字段 …

    v2.4.0 于 2026-09-08 发布, 源码为 c103d08e。 9 月 16 日更新: 当前版本为 Console v2.4.1。本篇保留 v2.4.0 的行为与依赖记录。 已发布行为 对象目录默认每页 100 条,可选 50、100、250、500、1000。每页只发一次 S3 continuation-token 请求;排序、筛选和选择作用于当前页,不扫描整个目录,没有无限制的“全部”模式。 版本删除绑定选定对象,目录删除限制在其前缀内。生命周期编辑保留独立动作和界面未暴露的字段 …

  • mcli 20260903 正式发布

    发布于 发布注记

    发布mcli

    Featured Image for mcli 20260903 正式发布

    发布日期: 2026-09-03 · 版本: RELEASE.2026-09-03T07-13-05Z · 源码: a2ef95c0 距离 mcli 20260806 二十八天,本次发布汇总了客户端此后积累的全部变更。工具链升级到 Go 1.27.1,共享依赖栈与 SILO 家族对齐,silo-pkg 以自有模块路径导入,go.mod 如实描述二进制的构建来源。fork 以来第一个真正的新命令 —— mcli checksum verify —— 到来了,它对端点实际返回的字节只读地核验存储的 …

    发布日期: 2026-09-03 · 版本: RELEASE.2026-09-03T07-13-05Z · 源码: a2ef95c0 距离 mcli 20260806 二十八天,本次发布汇总了客户端此后积累的全部变更。工具链升级到 Go 1.27.1,共享依赖栈与 SILO 家族对齐,silo-pkg 以自有模块路径导入,go.mod 如实描述二进制的构建来源。fork 以来第一个真正的新命令 —— mcli checksum verify —— 到来了,它对端点实际返回的字节只读地核验存储的 …

  • Silo 20260903 正式发布

    发布于 发布注记

    ReleaseSilo

    Featured Image for Silo 20260903 正式发布

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本文关于 #79 分片上传列举的旧方案、启用建议与当时进度仅保留为历史记录;后续设计已由最新设计决策(中文)覆盖,请参考新版。新实现已合入主干、尚未随 Server 版本发布;这里记载的旧版本行为和其他主题结论不因此改变。 English: The #79 multipart-listing proposals, enablement …

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本文关于 #79 分片上传列举的旧方案、启用建议与当时进度仅保留为历史记录;后续设计已由最新设计决策(中文)覆盖,请参考新版。新实现已合入主干、尚未随 Server 版本发布;这里记载的旧版本行为和其他主题结论不因此改变。 English: The #79 multipart-listing proposals, enablement …

  • SILO Server 20260903 发布前复审

    发布于 设计

    DesignReviewSecurityCompatibilityRelease

    Featured Image for SILO Server 20260903 发布前复审

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本文关于 #79 分片上传列举的旧方案、启用建议与当时进度仅保留为历史记录;后续设计已由最新设计决策(中文)覆盖,请参考新版。新实现已合入主干、尚未随 Server 版本发布;这里记载的旧版本行为和其他主题结论不因此改变。 English: The #79 multipart-listing proposals, enablement …

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本文关于 #79 分片上传列举的旧方案、启用建议与当时进度仅保留为历史记录;后续设计已由最新设计决策(中文)覆盖,请参考新版。新实现已合入主干、尚未随 Server 版本发布;这里记载的旧版本行为和其他主题结论不因此改变。 English: The #79 multipart-listing proposals, enablement …

  • SILO 20260903 安全说明:SN-2026-006 至 010

    发布于 安全编年史

    安全S3SSE-CReplicationIAM

    Featured Image for SILO 20260903 安全说明:SN-2026-006 至 010

    已随 SILO 20260903 发布。 这些修复属于 RELEASE.2026-09-03T13-18-01Z。从 20260806 到 20260903 的完整升级边界、组件、验证证据与已知延期见完整发布说明。 本公告汇总 SILO Server 最终复审发现的五个相关安全问题,覆盖客户提供的加密密钥、客户端可控复制 header、管理状态变更与显式对象版本删除。 SN-2026-006 至 SN-2026-010 是分叉内部的 security-note 编号,不是 CVE,也没有登记到 …

    已随 SILO 20260903 发布。 这些修复属于 RELEASE.2026-09-03T13-18-01Z。从 20260806 到 20260903 的完整升级边界、组件、验证证据与已知延期见完整发布说明。 本公告汇总 SILO Server 最终复审发现的五个相关安全问题,覆盖客户提供的加密密钥、客户端可控复制 header、管理状态变更与显式对象版本删除。 SN-2026-006 至 SN-2026-010 是分叉内部的 security-note 编号,不是 CVE,也没有登记到 …

  • 显式版本删除现在要求 DeleteObjectVersion

    发布于 发布注记

    发布安全IAMS3兼容性

    Featured Image for 显式版本删除现在要求 DeleteObjectVersion

    发布状态: 此变更已在 pgsty/silo#104 中实现,对应 Issue #58。本文发布本身不代表 某个服务器版本、软件包、镜像或部署已经包含该变更。 SILO 现在按照请求实际执行的删除类型选择权限: 请求 所需权限 未携带 versionId s3:DeleteObject 版本 UUID s3:DeleteObjectVersion 显式 versionId=null s3:DeleteObjectVersion DeleteObjects 对每个 XML 条目独立应用映射 此前 …

    发布状态: 此变更已在 pgsty/silo#104 中实现,对应 Issue #58。本文发布本身不代表 某个服务器版本、软件包、镜像或部署已经包含该变更。 SILO 现在按照请求实际执行的删除类型选择权限: 请求 所需权限 未携带 versionId s3:DeleteObject 版本 UUID s3:DeleteObjectVersion 显式 versionId=null s3:DeleteObjectVersion DeleteObjects 对每个 XML 条目独立应用映射 此前 …

  • 鉴权前不做 I/O,Header 不授予权限

    发布于 设计

    设计安全CORSReplicationSSE-C兼容性

    Featured Image for 鉴权前不做 I/O,Header 不授予权限

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文记录以 PR #101(938603458 至 04b097fd9)合并进 SILO 的 CORS 热路径与复制请求信任边界修复。 截至 2026-09-03 的状态: PR #101 已于 2026-09-01 合并进 main,并带四个后续提交:Snowball 逐条目信任隔离 …

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文记录以 PR #101(938603458 至 04b097fd9)合并进 SILO 的 CORS 热路径与复制请求信任边界修复。 截至 2026-09-03 的状态: PR #101 已于 2026-09-01 合并进 main,并带四个后续提交:Snowball 逐条目信任隔离 …

  • ListMultipartUploads:实现、升级契约与历史设计

    发布于 设计

    设计S3兼容性分段上传

    Featured Image for ListMultipartUploads:实现、升级契约与历史设计

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本页保留的 8 月分析与 9 月 legacy/strict 方案已被新设计覆盖,请以最新设计决策(中文)为准。新设计统一使用持久列举,逐条跳过经确认缺少身份的历史上传,取消迁移开关;代码已合入主干,尚未随 Server 版本发布。旧章节只用于理解历史,不改变旧版本二进制的实际行为。 English: The August …

    警告 旧版分片列举设计已被覆盖 · Earlier multipart-listing designs superseded (2026-10-17) 中文: 本页保留的 8 月分析与 9 月 legacy/strict 方案已被新设计覆盖,请以最新设计决策(中文)为准。新设计统一使用持久列举,逐条跳过经确认缺少身份的历史上传,取消迁移开关;代码已合入主干,尚未随 Server 版本发布。旧章节只用于理解历史,不改变旧版本二进制的实际行为。 English: The August …

  • silo-pkg 3.13.0 正式发布

    发布于 发布注记

    发布pkg

    Featured Image for silo-pkg 3.13.0 正式发布

    2026-09-13 后续状态: 本文保留 3.13.0 发布时的迁移记录。四个维护组件现已完成独立模块路径迁移;当前 pkg 为 v3.14.0。文中的“尚未迁移”描述仅适用于当时,见现有组件矩阵。 发布日期: 2026-08-30 · 版本: v3.13.0 · 提交: 215f116 · 仓库: pgsty/silo-pkg 3.13.0 是一个破坏性版本,只有一条主线:本模块不再冒用上游的导入路径,改用自己的。同时废弃 pgsty/silo-go 分支——它已经不再包含任何上游没有的东 …

    2026-09-13 后续状态: 本文保留 3.13.0 发布时的迁移记录。四个维护组件现已完成独立模块路径迁移;当前 pkg 为 v3.14.0。文中的“尚未迁移”描述仅适用于当时,见现有组件矩阵。 发布日期: 2026-08-30 · 版本: v3.13.0 · 提交: 215f116 · 仓库: pgsty/silo-pkg 3.13.0 是一个破坏性版本,只有一条主线:本模块不再冒用上游的导入路径,改用自己的。同时废弃 pgsty/silo-go 分支——它已经不再包含任何上游没有的东 …

  • 只读 Checksum 审计与可靠的 CLI 输出契约

    发布于 设计

    设计S3兼容性Checksummcli

    Featured Image for 只读 Checksum 审计与可靠的 CLI 输出契约

    本文是 MCLI 只读 checksum 校验流程,以及发布审查中发现的 non-TTY 输出缺陷 pgsty/mc#5 的设计与实现记录。 状态: 已随最终的 mcli 20260903 正式发布。命令经 pull request #8 与 #13 合入 main,在托管 CI 中针对真实 SILO 服务器验证, pgsty/mc#5 已关闭。Server 20260903 镜像已捆绑包含本命令的 mcli 20260903。 归属: pgsty/mc。 跟踪: pgsty/mc#5。 安全边 …

    本文是 MCLI 只读 checksum 校验流程,以及发布审查中发现的 non-TTY 输出缺陷 pgsty/mc#5 的设计与实现记录。 状态: 已随最终的 mcli 20260903 正式发布。命令经 pull request #8 与 #13 合入 main,在托管 CI 中针对真实 SILO 服务器验证, pgsty/mc#5 已关闭。Server 20260903 镜像已捆绑包含本命令的 mcli 20260903。 归属: pgsty/mc。 跟踪: pgsty/mc#5。 安全边 …

  • 两把 SSE-C 密钥,一份 CopyObject 响应

    发布于 设计

    设计S3SSE-CChecksum兼容性

    Featured Image for 两把 SSE-C 密钥,一份 CopyObject 响应

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文记录 SILO 提交 e73436c99 中的 CopyObject SSE-C checksum 响应修复。 截至 2026-08-28 的状态: 实现、加密与换钥测试、完整服务器套件、race、静态检查、构建和 Fable Max 独立验收均已完成。该提交已于 2026-08-29 …

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文记录 SILO 提交 e73436c99 中的 CopyObject SSE-C checksum 响应修复。 截至 2026-08-28 的状态: 实现、加密与换钥测试、完整服务器套件、race、静态检查、构建和 Fable Max 独立验收均已完成。该提交已于 2026-08-29 …

  • 配置环境文件不是 Shell 脚本

    发布于 设计

    设计配置兼容性运维

    Featured Image for 配置环境文件不是 Shell 脚本

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文定义 MINIO_CONFIG_ENV_FILE 的启动契约,并记录 SILO 提交 2aea7fe9c 中的兼容性修复。 截至 2026-08-28 的状态: 实现、定向测试、完整 cmd 与 internal 套件、tagged tests、race、vet、lint、生成物检查 …

    发布核对(2026-09-16): 本文原始修复已进入 Server 20260903。下文带日期的评审与测试叙述记录当时证据,不代表当前仍待发布,也不代表特定生产部署已验收。后续源码与组件选择见版本表。 本文定义 MINIO_CONFIG_ENV_FILE 的启动契约,并记录 SILO 提交 2aea7fe9c 中的兼容性修复。 截至 2026-08-28 的状态: 实现、定向测试、完整 cmd 与 internal 套件、tagged tests、race、vet、lint、生成物检查 …