feat(gitops): 启用 Gitea Actions Helm 接管
lint / yaml (push) Successful in 14s
lint / yaml (pull_request) Successful in 14s
lint / terraform (pull_request) Successful in 34s
lint / terraform (push) Successful in 29s
lint / ansible (pull_request) Successful in 3m12s
lint / ansible (push) Successful in 3m57s

This commit is contained in:
2026-09-10 05:22:30 +00:00
parent a8de4d257b
commit 5e2e28e275
3 changed files with 8 additions and 6 deletions
+5 -3
View File
@@ -24,10 +24,12 @@ What changed in this homelab, when, and why. Newest first.
| GitOps | PR #18 合并后,Flux 自行发现 revision `f257a2a` 并删除已在 `prune: true` 下重新进入 inventory 的测试 ConfigMap;未发送 reconcile annotation,`http-echo` Deployment/Service 保持 Ready,root 继续 `prune: false` | | GitOps | PR #18 合并后,Flux 自行发现 revision `f257a2a` 并删除已在 `prune: true` 下重新进入 inventory 的测试 ConfigMap;未发送 reconcile annotation,`http-echo` Deployment/Service 保持 Ready,root 继续 `prune: false` |
| Helm migration | 选定 `gitea-actions` 作为第一个 Flux HelmRelease adoption:它不承载 Git、入口、DNS、证书、数据库或 secrets controller。live StatefulSet 与 Git 都使用 regular DinD,但 Helm 保存的 release values/manifest 仍是失败的 rootless 配置;接管先固定 chart `0.1.1` 并验证 live Pod spec 不变,升级另开 PR | | Helm migration | 选定 `gitea-actions` 作为第一个 Flux HelmRelease adoption:它不承载 Git、入口、DNS、证书、数据库或 secrets controller。live StatefulSet 与 Git 都使用 regular DinD,但 Helm 保存的 release values/manifest 仍是失败的 rootless 配置;接管先固定 chart `0.1.1` 并验证 live Pod spec 不变,升级另开 PR |
| Helm adoption stage | 为 `gitea-actions` 加入固定 chart `0.1.1` 的 HelmRepository、values ConfigMap 和 `suspend: true` HelmRelease;第一阶段只让 Flux 登记对象,确认 source 与固定 chart render 后再解除 suspend,失败策略使用 `RetryOnFailure` 以避免回滚到 stored rootless manifest | | Helm adoption stage | 为 `gitea-actions` 加入固定 chart `0.1.1` 的 HelmRepository、values ConfigMap 和 `suspend: true` HelmRelease;第一阶段只让 Flux 登记对象,确认 source 与固定 chart render 后再解除 suspend,失败策略使用 `RetryOnFailure` 以避免回滚到 stored rootless manifest |
| Helm adoption activate | 第一阶段合并后 Flux source 与子 Kustomization 均 Ready,Helm release 仍为 revision 1,runner Pod 未 rollout;再次确认固定 chart 的完整 render 对 live 集群为零差异后,第二阶段移除 `suspend`,允许 Flux 修正 Helm 存储状态并开始 drift detection |
`Carried forward`: adopt `gitea-actions` with a zero-change HelmRelease; then `Carried forward`: complete the `gitea-actions` HelmRelease activation, then
order the remaining Helm migrations by dependency and blast radius. Root Flux upgrade Gitea and add credential-free PR plan output before ordering the
prune remains disabled until brownfield ownership is audited. remaining Helm migrations by dependency and blast radius. Root Flux prune
remains disabled until brownfield ownership is audited.
## 2026-09-09 ## 2026-09-09
+3 -2
View File
@@ -29,8 +29,9 @@ identity、runner capacity 和在线状态保持不变。接管稳定后再用
接管分两阶段:第一阶段提交 `suspend: true` 的 HelmRelease、HelmRepository 和由 接管分两阶段:第一阶段提交 `suspend: true` 的 HelmRelease、HelmRepository 和由
`values.yaml` 生成的 ConfigMap。Flux 只登记这些对象,不执行 Helm action。合并后 `values.yaml` 生成的 ConfigMap。Flux 只登记这些对象,不执行 Helm action。合并后
检查 HelmRepository Ready,并用固定 chart 重复比较期望清单与 live StatefulSet; 检查 HelmRepository Ready,并用固定 chart 重复比较期望清单与 live StatefulSet;
第二阶段才解除 suspend。失败重试使用 `RetryOnFailure`,不会用 stored rootless 第二阶段解除 suspend。第一阶段已经确认 source Ready、完整 chart render 与 live
release 做 rollback。 资源零差异,且登记过程中现有 runner 没有 rollout。失败重试使用
`RetryOnFailure`,不会用 stored rootless release 做 rollback。
## 历史 review-first bootstrap ## 历史 review-first bootstrap
-1
View File
@@ -20,7 +20,6 @@ spec:
retryInterval: 5m retryInterval: 5m
interval: 30m interval: 30m
releaseName: gitea-actions releaseName: gitea-actions
suspend: true
targetNamespace: gitea-actions targetNamespace: gitea-actions
timeout: 10m timeout: 10m
upgrade: upgrade: