Open DunkRing opened 1 week ago
For kustomize, we have an option to use a different version using volume mounts and using the appropriate configuration in argocd-cm
.
https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#custom-kustomize-versions
Probably we can implement a similar feature for helm as part of this enhancement.
That would be awesome! But can we get the helm dependency bumped in the next version v2.13.1. :)
Generally y-stream updates of 3rd party dependencies i.e 3.15.x -> 3.16.x can only happen in the next ArgoCD y-stream release i.e 2.14 in order to maintain the stability of z-stream releases.
There are a few PRs trying to do that, but they are running into some issues.
Summary
ArgoCD v2.13.0 currently uses Helm v3.15.4 within the argocd-repo-server, which presents a compatibility issue when deploying recent versions of Istio. For example, Istio 1.24.0 requires at least Helm v3.16.3, resulting in deployment failures and feature limitations due to the older Helm version used by ArgoCD.
Motivation
Deploying Istio via ArgoCD is a common practice for managing and automating infrastructure, particularly in Kubernetes environments. Here are specific use cases where this becomes problematic:
Istio 1.24.0 Deployment Failure: Users attempting to deploy or upgrade to Istio 1.24.0 encounter errors due to Helm version constraints, as it requires Helm v3.16.3 or higher. Feature Gaps and Limitations: For users relying on newer versions of Istio, using an older Helm version in ArgoCD leads to missed features, potential security vulnerabilities, and operational inconsistencies compared to directly using an updated Helm CLI. Broader Ecosystem Impact: As more Kubernetes tools and operators adopt recent Helm versions, users need to rely on consistent support across their tooling, including ArgoCD.
Proposal
The ideal solution is to update the bundled Helm version in ArgoCD's argocd-repo-server to a version that satisfies current compatibility requirements with popular tools such as Istio (e.g., Helm v3.16.3 or higher). This would ensure:
Compatibility with the latest stable releases of widely-used tools. Improved support for Helm-based deployments without manual intervention or workarounds. Reduced friction for users upgrading ArgoCD and integrating it into modern infrastructure workflows. Please consider incorporating a more recent Helm version in future ArgoCD releases to meet these needs. Alternatively, providing a configurable mechanism for specifying the Helm version used by argocd-repo-server could also offer greater flexibility.