Argo CD项目在2026年6月发布了v3.5候选版本。该版本引入了强制双向TLS(mTLS)支持,为供应链安全提供了Git提交签名验证功能,并在UI中实现了原生的应用集管理功能。此外,身份模拟和源文件加载器两项重要功能也从Alpha测试阶段提升至Beta测试阶段。

--91likeyou---

长期以来,大规模部署 Argo CD 一直存在内部安全防护与运维可视性短板。此前,代码库服务器与 API 服务、控制器等组件之间的通信均未加密,内部流量无法纳入团队在流量入口层部署的常规双向 TLS 保护。在供应链安全层面,旧版 Argo CD 缺乏相应的防护机制:一旦代码库遭入侵,未签名或被篡改的资源清单文件会在无感知状态下完成部署。应用集虽可批量创建应用,但此前无原生前端界面支持,运维人员只能通过查看 YAML 配置或通过 kubectl 命令才能获知某个应用集最终生成的内容。

现在,代码库服务器已支持 mTLS,所有接入的组件均需提供客户端证书。对于未配置自定义证书的环境,代码库服务器会在内存中创建自签名证书,这样既能支撑内部健康检查,又无需依赖文件系统存储证书。。Source Integrity 验证功能允许运维人员确保 Git 源在同步前具有有效签名。这可以通过在应用规范中设置 sourceIntegrity.required: true,或使用 CLI 标志 argocd app set --source-integrity-required 来实现。应用集 UI 由来自 Intuit、Red Hat、GoTo 和 Octopus Deploy 的工程师共同开发,提供了列表、筛选和详情视图,还有一个“预览应用”(Preview Apps)标签页,可在部署前查看应用集模板即将生成的全部应用资源。

Argo CD 现在可以在服务器端任务中模拟特定的用户身份,包括日志流查看、资源删除与应用同步等操作,该功能已进入 Beta 测试阶段。当你通过 AppProject 或 RBAC 策略配置身份模拟时,它将自动应用于所有服务器操作,这对于多租户集群的审计溯源工作至关重要。源码加载器功能同样进入 Beta 测试阶段。团队现在可以设置不同的 drySource.repoURL 和 syncSource.repoURL 值,支持多仓库 GitOps 模式——源模板和渲染后的清单可以位于不同的仓库中,各自拥有独立的访问控制。

该版本还增加了对 Helm 4 的支持,同时保持对 Helm 3 的向后兼容性。应用集现在可以部署在任意命名空间中,不再局限于 Argo CD 命名空间。这一特性状态稳定,满足了长期以来团队按命名空间管理 GitOps 的需求。应用集并发控制功能允许运维人员限制同时处理的应用数量,从而降低压垮集群或上游 Git API 的风险。对于遇到组声明溢出的 Azure AD 用户,现在可以通过 Microsoft Graph API 进行组解析,绕过 OIDC 令牌长度限制。Azure DevOps 仓库获得了服务主体身份验证支持,不再依赖 PAT(个人访问令牌)。

在 Argo CD 的主要竞争对手中,v3.5 的三项核心功能——内部 mTLS、源码完整性校验、应用集 UI——因各工具的架构不同而存在很大差异。Flux(v2.8,2026 年 3 月发布)从底层架构设计上规避了内部双向 TLS 安全问题:其控制器使用 Kubernetes API 对象进行通信,而非直接的 gRPC,因此不存在需要保护的内部流量,但对外连接场景则支持双向 TLS,可通过 certSecretRef 配置 GitRepository、HelmRepository、OCIRepository 等资源的证书。在代码提交签名验证方面,Flux 早在 Argo CD 之前就通过 GitRepository API 中的 spec.verify.mode: head 提供原生 GPG 支持,因此 Argo CD 在这方面是在追赶 Flux。在 UI 方面,Flux 2.8 通过单独安装的 Flux Operator 引入了 Web 仪表盘,提供了 Kustomization 和 HelmRelease 视图,但没有 ApplicationSet Preview 等效功能。Flux 依靠 ArtifactGenerator API 实现模板驱动式资源生成,并不提供可视化预览。

Rancher Fleet 使用基于 WebSocket 的代理系统而非 gRPC,因此不需要内部 mTLS。TLS 在 Rancher 入口和代理信任层进行处理。Fleet 未内置 Source Integrity 机制,要强制执行提交签名,需要使用 Git 提供商的策略或准入 Webhook。UI 集成在 Rancher 仪表盘的“持续交付”中,而非独立应用。

Jenkins X 使用 Tekton 在管道层强制执行供应链控制,包括 Tekton Chains 和 GPG 签名发布。它没有提供管方的仪表盘,也缺少类似应用集预览的功能。多集群环境发布通过基于拉取请求的环境流程进行,而非通过生成模板。

查看英文原文:

🔥 热词:#Argo · #CD · #TLS · #mTLS · #推出内部双向 · #与源码完整性校验支持 · #强化软件供应链安全 · #项目于