Argo CD v2.12 Release Candidate
We are happy to announce that the Argo CD v2.12 Release Candidate has been published! We have over 30 new features, 70 bug fixes, and 60 documentation updates.
As always, please test the release candidate and send us feedback about any bugs or issues you encounter. This is your big opportunity to make your voice heard and help Argo CD to become even better.
Multi-source application advancements
Creating Argo CD applications from multiple sources was one of the most requested Argo CD features for a long time. This feature allows you to group information from multiple places (for example a public Helm chart plus your local values file) to form a single Argo CD application. Initial support for defining multiple sources was already added in Argo CD version 2.6, and the support for CLI was added in 2.11. The UI still assumed the application to have a single source and certain CLI features like rollback were not yet supported for an application with multiple sources.
With Argo CD version 2.12, rollback of a multiple source application is now possible via both Argo CD UI and CLI.
In addition to the rollback feature, a new Sources tab has been added to the Application Details page, enabling users to manage (view and edit) the sources of an application.
Thanks Keith Chong (Red Hat) and Jorge Turrado for implementing these features.
Project Scoped Repository Credential Improvements
Currently, multiple repository credentials sharing the same URL is not allowed by the Argo CD API. If the credentials are added directly to the argocd namespace, argocd-server won’t return an error, but this still does not work since the first secret that matches a repository URL is the one that gets returned, and the order is also undefined.
With Argo CD version 2.12, Argo CD will allow multiple app projects to have the ability to have separate repository credentials having the same URL.
Thanks Blake Pettersson (Akuity) for implementing this feature.
Add labels for Kubernetes events
With Argo CD version 2.12, users will be able to expose application labels on k8s events generated by Argo CD. When the events are created for Applications that have specific label keys defined in `resource.includeEventLabelKeys`, the controller will attach the matching labels to the events. This connection will make it simpler to filter or process the events based on the applications using these labels.
Thanks Siddhesh Ghadi (Red Hat) for implementing this feature.
Consistent Sharding Algorithm
Argo CD provides the capability to employ sharding for different Argo CD application controllers. This allows you to assign specific clusters to specific controllers to distribute the load across the different shards.
The existing sharding algorithms, including the legacy method and the round-robin algorithm, have shown limitations in maintaining optimal load distribution and minimizing unnecessary cluster-to-shard assignment changes.
With Argo CD version 2.12, a new sharding algorithm named “consistent-hashing” is introduced which reduces Cluster-to-Shard Assignment Changes and optimizes resource utilization.
Thanks Akram Ben Aissi (Red Hat) for implementing this feature.
Other Notable Changes
Here are some other new changes that made it into the release
- Updates to git client for resolving semantic versioning tags (by Pablo Aguilar from Stone Payments)
- Application Set Git Generator now supports GPG signature verification (by Ishita Sequeira from Red Hat)
- Add ls-remote request fail metric (by Jack-R-lantern)
- Add new annotation argocd.argoproj.io/sync-options: Force=true (by Kota Kimura from CyberAgent, Inc.)
- Add support for setting a grpc message size as an environment variable (by Pavel Kostohrys from Codefresh)
- Display the list of dependent resources in the delete popup (by Alexandre Gaudreault from Intuit)
- Remove support for old tracking label applications.argoproj.io/app-name (by Soumya Ghosh Dastidar from Akuity)
- Add support for fish shell completion to Argo CD CLI (by Sn0rt)
- Skip calling git fetch if the commit to checkout exists locally (by Shady Rafehi)
Where Can I Get the New Release?
For more details and installation instructions, check the release notes, and upgrade instructions. Please try the release candidate and share your feedback. A big thanks to all Argo Community contributors and users for their contributions, feedback, and help in testing the release!