Announcing Argo CD v3.1
Image generated by ChatGPT
Argo CD v3.0 was dubbed “ Small but mighty ” as that release set the groundwork for what is in store for Argo CD v3.x releases. With v3.1, the first batch of features comes out of the gate; featuring OCI support, CLI Plugins, Hydrator updates, UI improvements, plus much more.
Along with new features, this release comes with a whole slew of security fixes, bug fixes, and general quality of life improvements.
You can download the v3.1 on the !
We are really excited to have you try out the new features and look forward to any feedback from the border community! With that, let’s dive into what this release holds!
OCI Support¶
Argo CD has supported obtaining Kubernetes manifests from either a Git repository, a Helm chart repository, and later support for getting manifests from a Helm chart stored within an Open Container Initiative (OCI) registry. As OCI registries have more frequently been used to store content aside from container images, more and more projects have been adding support for using OCI as a storage mechanism and a source of truth.
Starting with Argo CD v3.1, we now support OCI by enabling the use of OCI-compliant container registries as sources for configuration artifacts. This means Argo CD can pull Kubernetes manifests packaged as OCI artifacts from registries that follow the OCI image and distribution specifications. This enhances security and portability, as it allows users to leverage the same registries they use for container images to also store and distribute deployment configurations. Argo CD OCI support comes into beta with this release.
BIG thanks to @blakepettersson from Akuity for leading this effort!
Hydrator Improvements¶
Manifest changes are often just image tag bumps. For example, the manifest change associated with a code change. The manifest hydrator writes metadata to the hydrated branch to associate the hydrated commit back to its corresponding dry commit.
Starting in v3.1, the Hydrator now allows for a way to associate a dry commit with a code commit. This is done by adding information about the upstream repo url, that commit SHA hash, the author of that commit, and any messages associated with that code commit. This information is then added to the Hydrator manifest metadata; this enables future work to be able to display this metadata in the Argo CD UI.
Thanks to @crenshaw-dev from Intuit for this improvement.
Server-Side Apply Stabilization¶
Argo CD now supports client-side apply migration, which helps transitioning from client-side apply to server-side apply by moving a resource’s managed fields from one manager to Argo CD’s manager. This feature is particularly useful when you need to migrate existing resources that were created using kubectl client-side apply to server-side apply with Argo CD. You can also specify your own field manager to migrate from using an annotation. This is useful when you have other operators managing resources that are no longer in use and would like Argo CD to own all the fields for that operator.
Thanks to @pjiang-dev from Intuit for this contribution.
UI Parameterized Action¶
The Argo CD UI in many ways is the first Kubernetes dashboard, providing not only a UI for GitOps users; but also a feature rich UI for Kubernetes end users. In this release, we’ve added the ability to perform additional action on Kubernetes resources, beyond just deleting.
This feature enables users to scale resources directly from the Argo CD UI. Users will be able to increase or decrease the number of replicas (Pods) for Deployments and StatefulSets by using an input field. The feature aims to enhance user experience, especially for non-technical users, by eliminating the need to modify configuration files or use kubectl commands for scaling.
Scaling resource from Argo CD UI
Thanks to @ratulbasak from Deutsche Bank for contributing!
And We Didn’t Stop There¶
There are other notable updates/improvements in this release.
- Similar to the kubectl plugin mechanism, support for argocd CLI plugins is available in this release. — @nitishify
- You can now explicitly set auto-sync on an Application — @aali309
- The sync option SkipDryRunOnMissingResource was only available as an annotation before; now you can set this as an Application sync option — @pasha-codefresh
- Improvements to AppSet Progressive Sync in the UI, paving the path for it to enter Beta — @aali309
- Add cooldown to prevent resetting autoheal exp backoff preemptively — @gdsoumya
- Added GitHub API metrics to better debug rate limiting — @reggie-k
Dependency, Platform, and Security Updates¶
Some notable dependency, platform, and security updates included in v3.1
Go 1.24.4
- All builds, CI, and images now use the latest Go. (And dropped 1.24.1.)
Major library bumps:
- google/go-github to v69
- bradleyfalzon/ghinstallation to v2
- microsoft/azure-devops-go-api moves to v7
- golangci-lint, tj-actions/changed-files, and many more
Security:
- SECURITY-INSIGHTS.yml reflects Argo CD v3.1.0 as the current release
- GitHub Actions secrets are more tightly scoped
Helm/OCI improvements
- Improved testing and support for OCI registries
Try It Out!¶
Please try the release and share your feedback. You can find us in the CNCF slack to provide us feedback and chat with other users and engineers. Thanks to all Argo Community contributors and users for their contributions, feedback, and help to test the release!
Technologist with experience in infrastructure engineering, systems administration, enterprise architecture, tech support, and advocacy. GitOps obsessed.
More from Christian Hernandez and Argo Project¶
Recommended from Medium¶
[
See more recommendations
](https://medium.com/?source=post_page---read_next_recirc--f4389bc783c8---------------------------------------)
