v1.8.0
🚀 The Kargo team is proud to unveil our feature-packed v1.8.0 release!
⚠️ Breaking Changes
The format of logs emitted by Kargo components has changed slightly.
⚠️ New Deprecations
None
✨ Noteworthy Features
Now the fun stuff! As usual, we packed so much great stuff into this release that we'd be here a very long time if we were to cover all of it in detail. Here's our still longer-than-usual list of new or improved features that we regard as being especially noteworthy.
-
Freightcreation criteria:Warehouseresources can now use expression-based criteria to control when automaticFreightcreation occurs. This solves the long-standing problem ofWarehouses creatingFreightwith incompatible artifact combinations when subscribed to multiple repositories.With a
Warehouse'sFreightcreation policy set toAutomatic, you can now provide criteria as an expression that must evaluate totruefor automaticFreightcreation to proceed. For example, to ensureFreightis created only when front end and back end container images have matching version tags:imageFrom('example/front-end').Tag == imageFrom('example/back-end').TagYou can read more about this new feature in the Working with Warehouses section of Kargo's documentation.
-
Syncing to an upstream
Stage: A new auto-promotion policy,MatchUpstream, allowsStageresource to perpetually sync with their immediate upstreamStageinstead of always promoting the newest availableFreight. This is ideal for scenarios like keeping a performance testing environment synced with the exact same artifacts currently being tested in a QA environment.You can read more about this feature in the Working with Stages section of Kargo's documentation.
-
git-merge-prpromotion step: A new promotion step enables automated merging of pull requests. This addresses requests from users who want to open PRs only for the audit purposes, then merge them immediately. This feature is in beta state.You can read more about this feature on the
git-merge-prpromotion step's reference page. -
New and improved metadata support: You can now propagate important context between
Stages using a newset-metadatapromotion step. Arbitrary metadata attached toFreightandStageresources can be retrieved using newstageMetadata()andfreightMetadata()expression functions. This enables use cases like associating a Slack thread ID with aFreightresource and sending an update to that thread each time theFreightis promoted to a differentStage.To learn more about these features, refer to the reference docs for the
set-metadatapromotion step as well as thefreightMetadata()andstageMetadata()sections of the expressions reference docs. -
Improved OIDC claim-to-ServiceAccount mappings: The system for mapping authenticated users to Kubernetes
ServiceAccounts has been overhauled with a new format that supports special characters not permitted in Kubernetes annotation keys. The change is largely transparent - existing mappings will migrate automatically with no user action required.You can read more about mappings in the operator guide and user guide.
-
Harbor webhook receiver: A new webhook receiver triggers
Warehouseartifact discovery when container images or Helm charts are pushed to Harbor registries.To learn more, refer to the Harbor webhook receiver reference docs. Special thanks to @ahockersten for this contribution.
-
Logging improvements: We've replaced Kargo's internal logging framework, resulting in minor format changes to unstructured logs and new support for structured JSON logs (opt-in via chart settings).
-
Favorite
Projects:Projects can now be "starred" for quick access - perfect for organizations with a very large number ofProjects. -
Drag 'n' drop
Promotions: Need we say more? -
New
Freightassembly option: A newFreight"clone" feature lets you use existingFreightas a template, selecting only the artifact revisions you want to change from the original.
🙏 Special Thanks
Thank you, as always, to community members who made their first contribution to Kargo in this release!
- @mikedougherty
- @ahockersten
- @gladavius
- @ianstanton
- @kyounghunJang
- @jobama7860
Full Changelog: https://github.com/akuity/kargo/compare/v1.7.5...v1.8.0