启用 Flux 对 Gitea Actions Helm release 的接管 #21

Merged
panxiao81 merged 1 commits from feat/flux-gitea-actions-adoption-activate into main 2026-09-10 05:24:03 +00:00
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: