Argo CD v2.8 Release Candidate

--

We are pleased to announce that the Argo CD v2.8 Release Candidate has been published! This release has 41 features and many bug fixes that many dedicated and talented contributors from the Argo CD community provided.

We continue to strive to improve Argo CD, and these improvements and refinements cannot be made without your valuable feedback. Please try out the release candidate and send us your comments regarding how you liked the new enhancements, any issues you encountered, or any suggestions in general. We’d be happy to hear from you, and you’ll put a huge smile on our faces, like this octopus here:

Photo by Cosiela Borta on Unsplash

Here are some of the key highlights of this release.

What’s New in ApplicationSet

  1. New Application Set Plugin Generator

The plugin generator allows you to write your own generator in any language and run it in a sidecar or a standalone deployment. This is ideal if your generator is very specific to your needs or does not belong or fit in as part of the current list of built-in generators in Argo CD. This approach allows you to run your generator right away. You bypass the approval process that normally happens when a new generator is integrated into Argo CD properly, which can take months for that new release.

The Plugin Generator can be used with the Matrix and Merge generators.

Thanks, Maxence Laude, for contributing this feature.

2. Allow the ApplicationSet policy to be set on the ApplicationSet object to override the global setting

This feature provides a way to control how ApplicationSets and its applications are modified. The applicationsSync option has the following values:

  • create-only: prevents the Application Controller from modifying and deleting applications
  • create-update: allows updating of applications, but deletion is not allowed
  • create-delete: allows an application to be deleted, but not modified
  • sync: Both update and delete are allowed

It is also possible to override these policies per ApplicationSet by using the — — enable-policy-override Application Controller parameter.

Thanks to Geoffrey Muselli for providing this enhancement.

3. SCM Provider Generator support for AWS CodeCommit and Pull Request Generator support for Azure DevOps and BitBucket Cloud

a) The ApplicationSet Controller supports GitHub, Gitlab, Bitbucket, Gitea, and Azure DevOps SCM Provider generators. With this enhancement, the controller also supports the AWS CodeCommit as an SCM Provider generator.

Thanks to Joseph Zhang for contributing the feature.

b) Also, there was a lot of interest in having the Pull Request Generator support Azure DevOps and BitBucket Cloud. This will allow you to fetch pull requests from these SCMaaS providers. These two enhancements were also added to this release.

Thanks to Robin Lieb for the Azure DevOps changes and James Lucas for the BitBucket Cloud feature.

What’s New in Argo CD

1. New option to create a one-off Job from a Cron Job

This is an Alpha feature for v2.8. A new Create Job menu action is added to the context menu of a Cron Job. This action triggers a Job from the CronJob.

Although creating resources via the Argo CD UI goes against GitOps principles, ephemeral resources like Jobs aren’t well-suited for management via GitOps. Typically, you can do this using the kubectl command, kubectl create job — from=cronjob/foo foo. There are also new actions to create Argo Workflows from CronWorkflows and WorkflowTemplates.

Thanks, Regina Voloshin, for implementing this feature.

2. Argo CD UI: Grouping pods by health status in Group Nodes

Ah, yes, I recall this feature because I helped review Ashutosh’s PR and fixed a related issue he needed. :-) Good memories of community collaboration and it shows how like-minded people can work together to achieve good things. I digress. This feature enhances the Group Nodes toolbar option in the tree-based (Tree and Network) views by grouping pods by health status within the ‘parent’ tree node, which we refer to as a Group Node. This compacts the tree even more, so it’ll be easier to see the other parts of the tree, especially when many pods are created.

For example, consider the following screenshot. There are 15 healthy pods associated with the ReplicaSet (the Group Node). Before this enhancement, you would see 15 green squares within the Group Node, each representing a pod. This would take up too much real estate in the view, so this enhancement improves usability.

Click the status link to see more information on the individual pods.

Thanks, Ashutosh, for contributing this feature.

3. More information on container status in the summary tab of a pod, and more detailed information on the pod in the tooltip

a) This feature added more information on the status of each container of a pod. The Summary tab of a pod shows the container state and health.

Here is an example when the containers are healthy:

b) New informative tooltips for the pod node. Some of the supplemental summary information on the pod node was not descriptive enough (again, there is a limited amount of real estate in the view, so it had to be compacted). So, the added tooltips provided more descriptive detail and improves usability.

Thanks to Sai Sindhu Chakradari (Intuit) for implementing the feature.

Other Notable Changes

Here is a list of the other changes in this release. I’ve grouped them into four categories.

i) General

  • Added support for multiple RBAC csv entries in the argocd-rbac-cm ConfigMap. This allows you to compose RBAC policies with multiple kustomize overlays (See 12511, contributed by Leo Luz Almeida)
  • Specify listen address from env / command line for Argo CD components (See 11846, contributed by Eldar Yusupov)
  • Added feature to support referencing secret values in any field of OIDC config (See 13475, contributed by Alex Matyushentsev)
  • This feature introduces the controller namespace to the application’s .status. With this feature, users can trace back the controller responsible for managing the application. (See 13081, contributed by Kevin Huber)
  • Feature to allow argocd-notifications-controller log level and log format to be defined via environment variables (See 13605, contributed by Noaa Barki)
  • Support insecure flag for OCI pull command and upgrade helm version to 3.12.0 (See 13608, contributed by Pavel Kostohrys of Codefresh)
  • A feature to add a page header and a toolbar to pages that are created by system extensions (See 13451, contributed by Egor Margineanu)
  • Have Argo CD use the oras-go library to enable more complex OCI Helm authentication. For example, support wildcards in OCI Helm repositories. (See 12554, contributed by Alex Eftimie)
  • Improved repository path sanitization (See 12974, contributed by Michael Crenshaw)
  • Expose Helm Chart metadata, such as the commit message, commit URL and commit author(s), in the Argo CD UI. This will add more context, such as in the History and Rollback page. (See 11575, contributed by Alex Eftimie)

ii) ApplicationSet Related

  • Added support for missingkey=error in ApplicationSets, so that Argo CD can report errors related to undefined keys or related template errors (See 13733 , contributed by Radon Rosborough)
  • Added argocd.argoproj.io/application-set-name to rendered appset applications (See 13456, contributed by Mmadu Manasseh)
  • Implemented additional values and their interpolation for Git and SCM generators (See 10754, contributed by Christoph Girstenbrei)
  • Added target branch support pullrequestgenerator (See 13535, contributed by Mehdi Chtayti)
  • This AppSet feature adds the ability to configure max concurrent reconciles to the ApplicationSet Controller (See 13381, contributed by Soumya Ghosh Dastidar)
  • For performance improvements, the ApplicationSet controller uses the repo server (See 12714, contributed by rumstead)
  • Added head_short_sha_7 and short_sha_7 to the Pull Request and SCM Provider generators (See 13199, contributed by Marco Lecheler of Mercedez Benz)

iii) Health Checks Related

  • Added health-checks for snapshot volume (See 13979, contributed by Thomas Decaux)
  • Added Health Checks for IngressController resources (See 12776, contributed by Jack Henschel)
  • Added health check feature to support for external-secrets.io cluster resources (See 12957, contributed by Samuel Suter)
  • Added a health check for ArgoEvents EventBus CRD. (See 12401, contributed by sgartner03)
  • Added health check on ClusterIssuer (See 12000, contributed by ChangZhuo Chen)
  • Added MariaDB CRD health checks (See 13143, contributed by Vidalee)

iv) Performance Related

  • To improve performance, this feature was added to enable gzip for UI assets by default (See 13944, contributed by Michael Crenshaw)
  • Another performance related improvement. This enables gzip compression in Redis by default (See 13459, contributed by Michael Crenshaw)
  • Make the Moment library global in the ArgoCD project to minimize the tar ball of metrics extension (See 13075, contributed by schakrad)

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. Thanks to all Argo Community contributors and users for their contributions, feedback, and help in testing the release!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Responses (2)

Write a response