December 11, 2024

Alexis Roberson

What's New in Kargo v1.1.0

Today, we are pleased to announce the latest iteration of our multi-stage GitOps continuous promotion tool, Kargo v1.1.0, now generally available. Kargo continues to exceed developers' expectations with features that streamline application promotion in multiple environments. By providing expression language support and additional promotion steps, we continue to fine-tune the promotion process.

A Giant Leap Forward with Expression Language Support

Our latest release marks an exciting evolution in how Kargo handles promotions. Users have embraced our shift from rigid promotion rules to a more flexible, expression-based approach. Since introducing promotion steps in v0.9.0, we recognized that adding expression language support would be a game-changing enhancement – and now it's here.

The new expression language capability lets teams write more sophisticated, dynamic promotion logic while keeping things incredibly simple. Our documentation now includes comprehensive examples showing real-world applications of this feature.

Basic example:

The above example will be evaluated as the following:

Patterns. Patterns. Patterns.

An interesting outcome of providing expression language support is the discovery of common patterns in promotion workflows. Teams typically use nearly identical processes across stages, with just a few variable tweaks. This insight has inspired our next big feature: the PromotionTemplate CRD, coming in v1.2.0. Soon, you'll be able to define promotion patterns once and reuse them throughout your pipeline, making your configurations more maintainable and consistent. Stay tuned for upcoming releases of this exciting new feature!

New and Updated Promotion Steps

Two new promotion steps have been added in this release:

  • yaml-update, with the help of expressions, presents a more generic and flexible alternative to the helm-update-image step, which is also now deprecated and scheduled for removal in v1.3.0.

  • http provides a flexible means of interacting with HTTP/S endpoints. This opens up the possibility of simple, low-level integration with external systems that support webhooks or expose RESTful APIs. For instance, you can use an http step to post a message on a Slack channel as part of a promotion process.

Two steps have been updated:

  • The argo-cd-update step no longer automatically infers desired revisions for Application health checks. Previously, this automatic inference caused issues when multiple Stages updated Applications tracking the same branch head. Now, revision checks only occur when explicitly configured in the step.

  • git-open-pr has been prone to errors when a PR identical to the one it attempts to create already exists. When a PR identical to the one the step intends to create already exists, the step will now simply "adopt" that PR and proceed as if successful.

It is also worth noting that all steps now have a default number of retry attempts in the event of a recoverable failure. However, this default is overridable for all steps.

Please refer to the promotion steps reference documentation for detailed information about new and updated promotion steps as well as deprecated steps and fields.

Resource Utilization Improvements

This release introduces a number of optimizations to Kargo's resource utilization.

  • GOMAXPROCS is now set on all Kargo components to equal the CPU cores available, rounded up to the nearest integer. This prevents Go from backing goroutines with a number of OS threads exceeding the number of cores available, which is a condition that can result in losing compute time to avoidable context switches.

  • GOMEMLIMIT (soft memory limit) is now set on all Kargo components to equal the container's memory limit. This helps Go to optimize garbage collection.

  • MaxConcurrentReconciles now defaults to four (instead of one) for all reconcilers in both the controller and management controller. These defaults are overridable on a per-controller or per-reconciler basis via chart configuration at install-time.

UI Improvements

The Kargo UI continues to evolve with plenty of improvements, including

  • UI wizard for warehouses: Interactively configure new Warehouses using the new UI wizard.

  • Remember pagination option: The UI's homepage, which lists all Kargo Projects, now remembers what page of the paginated list the user was last viewing. This means that users returning to the homepage after navigating to a Project will be returned to the same page of the list they were viewing before.

  • Adjustable pipeline view: Within the view of a single Project, it is now possible to zoom in/out on the pipeline graph and drag to reposition it. This should make it considerably easier to work with long pipelines or Projects containing many pipelines.

  • User info page: A new user information page accessible from the sidebar displays the currently logged-in user's claims obtained from the identity token issued by the configured OIDC identity provider. We anticipate this page will be useful for debugging OIDC configuration issues and authorization issues.

Thank You to New Contributors

A big thank you to our growing community, especially those making their first contributions in this release:

Read the full changelog: Kargo v1.1.0 Changelog

Conclusion

Kargo v1.1.0 represents a significant step forward in GitOps continuous promotion. With expression language support, enhanced promotion steps, improved resource utilization, and a more intuitive UI, this release delivers both power and simplicity. As we look toward v1.2.0 and the introduction of PromotionTemplates, Kargo continues to evolve as a leading solution for managing complex deployment workflows. We invite you to explore these new features and share your feedback as we work to make Kargo even more powerful and user-friendly.

As these new features are best seen in action, it’s time to begin (or continue) your Kargo journey. Kargo v1.1.0 is available now on the Akuity Platform – our end-to-end GitOps platform.

Want to learn about using ArgoCD to scale Kubernetes for the enterprise? Check out our upcoming webinar from our Head of Community, Christian Hernandez.

Get Started

Try the Akuity Platform free for 30 days.
No credit card required.

Man and woman throwing ball between themselves

Get Started

Try the Akuity Platform free for 30 days.
No credit card required.

Man and woman throwing ball between themselves

Get Started

Try the Akuity Platform free for 30 days.
No credit card required.

Man and woman throwing ball between themselves