部署 zot:接入 SeaweedFS、SPIRE 并统一 S3 凭据来源 #55

Merged
panxiao81 merged 1 commits from feat/zot-spire-s3 into main 2026-09-14 13:38:17 +00:00
Owner

通过官方 Helm chart 部署内网 zot Registry,OCI 制品保存到 SeaweedFS S3,已有 SPIRE 身份可使用 JWT-SVID 拉取镜像。zot 的 S3 AK/SK 统一以 OpenBao kv/k8s/zot-s3 为来源,ESO 合成服务端配置并同步 consumer,保留原有 S3 身份和权限。

  • 固定 chart 0.1.124 / zot v2.1.21;不创建 PVC,配置内网 DNS、Gateway 路由和 NetworkPolicy。
  • 校验 SPIRE issuer、audience 和 subject;当前只有读取权限,CI 写授权待具体身份确定。v2.1.21 的 Bearer middleware 限制意味着当前拉取也需要认证。
  • 增加 Flux composition、部署说明和凭据维护说明。集群已从本地部署;合并后由根 Flux composition 纳管 zot。SeaweedFS ExternalSecret 已单独应用,沿用现有独立 ownership。

验证:YAML/JSON 解析、Kustomize 与 Helm 渲染、diff 格式和敏感信息模式检查通过。集群 HelmRelease/ESO Ready;真实 SPIRE JWT-SVID + crane 拉取及 digest 校验通过,错误/过期凭据与未授权写入被拒绝,重建 Pod 后制品仍可读取。凭据归一后确认原有配置完整保留、两端消费同一来源,zot S3 身份访问 tfstate 返回 403。临时验收身份和写权限已清理。

当前模板尚未实现新旧 S3 密钥重叠轮换,未来轮换需协调 SeaweedFS 热重载与 zot 重启。

通过官方 Helm chart 部署内网 zot Registry,OCI 制品保存到 SeaweedFS S3,已有 SPIRE 身份可使用 JWT-SVID 拉取镜像。zot 的 S3 AK/SK 统一以 OpenBao `kv/k8s/zot-s3` 为来源,ESO 合成服务端配置并同步 consumer,保留原有 S3 身份和权限。 - 固定 chart 0.1.124 / zot v2.1.21;不创建 PVC,配置内网 DNS、Gateway 路由和 NetworkPolicy。 - 校验 SPIRE issuer、audience 和 subject;当前只有读取权限,CI 写授权待具体身份确定。v2.1.21 的 Bearer middleware 限制意味着当前拉取也需要认证。 - 增加 Flux composition、部署说明和凭据维护说明。集群已从本地部署;合并后由根 Flux composition 纳管 zot。SeaweedFS ExternalSecret 已单独应用,沿用现有独立 ownership。 验证:YAML/JSON 解析、Kustomize 与 Helm 渲染、diff 格式和敏感信息模式检查通过。集群 HelmRelease/ESO Ready;真实 SPIRE JWT-SVID + crane 拉取及 digest 校验通过,错误/过期凭据与未授权写入被拒绝,重建 Pod 后制品仍可读取。凭据归一后确认原有配置完整保留、两端消费同一来源,zot S3 身份访问 tfstate 返回 403。临时验收身份和写权限已清理。 当前模板尚未实现新旧 S3 密钥重叠轮换,未来轮换需协调 SeaweedFS 热重载与 zot 重启。
panxiao81 added 1 commit 2026-09-14 13:27:28 +00:00
feat(zot): 接入 SeaweedFS 与 SPIRE 并统一 S3 凭据来源
yaml / yaml (pull_request) Successful in 20s
ansible / collection-test (pull_request) Successful in 59s
ansible / lint (pull_request) Successful in 10m32s
5c2b575a4f
panxiao81 merged commit e0e8213b8f into main 2026-09-14 13:38:17 +00:00
panxiao81 deleted branch feat/zot-spire-s3 2026-09-14 13:38:18 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: panxiao81/homelab-infra#55