-
Notifications
You must be signed in to change notification settings - Fork 254
Description
Checklist
- I've searched the issue queue to verify this is not a duplicate feature request.
- I've pasted the output of
kargo version
, if applicable.- kargo version:
v1.1.2
- kargo version:
- I've pasted logs, if applicable.
Proposed Feature
I want to select multiple freight from different freight timelines when creating a promotion to a stage. Currently, a promotion can only accommodate one freight.
Motivation
I am trying to create a CD pipeline for a Team to deploy their microservices. Each of the microservices is a Kargo Warehouse 1.
Changes to multiple microservices are accumulated in a uat
stage and released together to the prod
stage in a regular cadence.
During the manual promotion to prod
, it is cumbersome to do promotions freight-by-freight. Since we want to also review the changes before updating the live GitOps branch, we will use git-open-pr
and git-wait-for-pr
in the promotion steps for the prod
stage. This makes it worse since Kargo takes up to 5 minutes to confirm and move from a git-wait-for-pr
step. With multiple freight, it takes up to (5 x N) minutes to complete the deployment of N microservices because of the delay in git-wait-for-pr
step. There would also be N PRs to review.
If multiple Freight could be promoted together in one Promotion, we would only raise one PR and the delay in git-wait-for-pr
step will also only take 5 minutes instead of (5 x N) minutes.
[1] One may suggest we could use a single Freight with all images to work around this. The reason I am modeling microservice to Warehouse 1:1 is that it is easy to manually create a freight for "hotfixes". If I had instead created a single Warehouse that subscribes to all the images, a hotfix would require specifying the expected versions of every image during manual Freight Assembly which is cumbersome and mistake-prone.
Suggested Implementation
The Promotion CR could accept a list of freight instead of a single freight. That would be a breaking change for the CRD though.
There might be good reasons for only allowing a single freight update per promotion, curious to know the why if that's the case.