PGSTY KES 20261018 发布
发行版: RELEASE.2026-10-18T00-00-00Z · 软件包: 20261018000000.0.0 · 源码: 2f7e741db905。
这是 PGSTY 维护的密钥加密服务(Key Encryption Service,KES)首个正式发行版。KES 是独立部署的无状态服务,供需要外部 KMS 的 SILO 服务端加密场景使用(参见组件版本矩阵)。
变更内容
- 建立 PGSTY 维护与发布流水线,完整保留上游版权、署名及第三方许可证。可执行文件与系统软件包保持
kes命名,Go 模块路径保持github.com/minio/kes。 - 升级至 Go 1.27.2 并刷新依赖,将 AWS Secrets Manager 后端从已弃用的 AWS SDK for Go v1 迁移至 AWS SDK for Go v2。完整保留 YAML 配置字段、显式凭据优先级、自定义端点与密钥存储格式(继续忽略
~/.aws/config与 SDK 环境变量端点覆盖)。 - 完整兼容既有 KES HTTP API、
MINIO_KMS_KES_*环境变量、存量根密钥及已加密对象;现有 SILO + KES 部署可直接升级,无需迁移密钥。 - 新增 SILO 搭配 OpenBao KV v2 及 Moto Secrets Manager 模拟器的升级、回滚与重启集成测试(每次版本切换均强制重启 SILO 以排除服务端密钥缓存干扰)。
- 提供签名 Git 标签、GitHub 构建来源证明、GPG 签名 RPM 包与非 root 容器镜像;禁用内置
kes update自更新命令。
部署与升级
在服务端加密链路中,SILO 负责加解密对象数据,KES 负责验证客户端 mTLS 身份并封装/解封装数据加密密钥(DEK),OpenBao 负责持久化存储主密钥(KEK)。因此,MINIO_KMS_KES_ENDPOINT 必须指向 KES,而非直接指向 OpenBao(架构边界与故障恢复要求见 KES 与 OpenBao 设计说明)。
生产启动 KES 前须配置 TLS 证书、mTLS 客户端身份策略与持久化密钥后端(开发模式仅将密钥保存在内存中)。官方容器默认以非特权 UID/GID 1000:1000 运行,挂载的配置文件与证书须对该用户可读;Linux RPM/DEB/APK 软件包安装 /usr/local/bin/kes,不会自动拉起未配置的服务。
升级前请先备份底层密钥存储与配置文件;升级后验证存量加密对象解密、新加密对象写入,以及重启 KES 与 SILO 后的冷读能力。
交付与验证
全部 19 个发行附件(Linux/macOS/Windows 的 amd64/arm64 共 6 个平台压缩包、6 个 Linux RPM/DEB/APK 软件包、归档校验清单与 6 份软件包校验文件)均已核验,涵盖下载摘要、二进制源码/平台标记、软件包载荷、2 份 RPM 签名及 11 份 GitHub 构建来源证明(见发布工作流)。
官方多架构容器镜像 docker.io/pgsty/kes:RELEASE.2026-10-18T00-00-00Z(linux/amd64 与 linux/arm64,Docker 发布记录)的索引摘要为:
维护验收矩阵重点覆盖 SILO + PGSTY KES + OpenBao KV v2(含 mTLS 认证、OpenBao AppRole 访问、DEK 加解密、重启持久性、未认证请求拒绝,以及与 SILO 20260903/20260916 和上游 KES 2025-03-12T09-35-18Z 的互操作与回滚测试;AWS Secrets Manager 后端通过本地 Moto 模拟器完成协议与存储回归)。