发布与供应链¶
Wiki 只描述当前稳定版本。历史配置契约通过 Git Tag 和 GitHub Release 保留,不维护并行的旧版 Wiki 树。
发布流程¶
- PR 通过 CI 和 Review 后合并到
master。 - 从已验证的
mastercommit 创建 annotated SemVer tag,例如v1.0.0。 - Tag 触发 Release workflow,校验 SemVer 并安装固定版本工具。
- Trivy 扫描每个平台镜像的 HIGH/CRITICAL 问题。
- Buildx 发布带 Provenance 与 SBOM 的多架构镜像。
- Cosign 使用 GitHub Actions keyless identity 对镜像 manifest digest 签名。
- Helm 打包并推送 OCI Chart,再由 cosign 对 digest 签名。
- GoReleaser 构建归档、SPDX JSON SBOM、checksum,并创建 Draft Release。
- Maintainer 独立验证签名与资产后正式发布 Draft。
Release workflow 拥有 contents: write、packages: write、id-token: write;普通 PR CI 保持只读。
v1 发布工作流会在 GoReleaser 完成后上传脱敏的 release-audit-input 工件,其中包含真实 Tag、源提交 SHA、工作流 URL、镜像与 Chart Digest、13 个 Release 资产名称、cosign 版本、证书身份与 Issuer 策略以及 Trivy 结果。该工件是维护者复核的输入,不能替代独立的 cosign verify。
仓库中的 v1.0.0 检查清单 与 验证记录 将已完成的自动化和供应链证据,与维护者明确延期的 24 小时稳定性、真实 AWS 和升级/回滚演练分开记录。延期项目不能记为通过。
v1.0.0¶
- GitHub Release
- 验证记录
- 镜像:
ghcr.io/sakuya1998/aws-cost-exporter:1.0.0 - Chart:
ghcr.io/sakuya1998/charts/aws-cost-exporter:1.0.0
验证记录固定了源提交、CI Run、13 个 Release 资产、VEX 处置、Attestation、 Certificate Policy 和已验证镜像/Chart Digest。
历史证据¶
- GitHub Release
- 验证记录
- 镜像:
ghcr.io/sakuya1998/aws-cost-exporter:0.3.0 -
Chart:
ghcr.io/sakuya1998/charts/aws-cost-exporter:0.3.0 - v0.1 发布清单
- 全部 GitHub Releases
历史记录是不可变审计证据,不是当前安装或配置指南。
使用者验证¶
下载归档时校验 checksum。OCI 产物使用 Release Record 中的精确 Release Workflow Identity 和 GitHub Actions OIDC issuer 执行 cosign verify。不能接受 Tag 可变性时固定已验证 digest。