Improve UI Feedback for Soak Time Waiting State
Proposed Feature
When a soak time is configured for a Stage and auto-promotion is enabled, the Kargo UI currently shows the Stage as "Reconciling". Users must manually inspect the Stage’s Live Manifest and check the status fields to see the message "Freight is not available to this Stage".
This experience can be confusing because it is not immediately clear that the Stage is simply waiting for the soak time to elapse before promotion can proceed.
Suggested Improvements:
Display a clearer message on the Stage view, such as "Waiting for soak time to elapse", when this condition applies.
Optionally, include remaining soak time or progress indicators to make it more transparent to users monitoring automated promotions.
Expected Benefit:
Improving visibility of the soak-time waiting state will help users understand why auto-promotion is paused, reducing confusion and the need to dig into resource manifests.
Example of status field of a Stage when autopromotion is enabled but soak time is not yet elapsed:
autoPromotionEnabled: true
conditions:
- lastTransitionTime: 2025-03-03T17:19:18Z
message: 'failed to auto-promote Freight: error creating Promotion for Freight
"889fc25d3e8cbe2a966458fcce7a8936ceb0e1a1" in namespace
"mercury-servicemesh": admission webhook "promotion.kargo.akuity.io"
denied the request: Promotion.kargo.akuity.io
"mer05-test-okd01.01k8wqtxz9bjm1682thf0vqwza.889fc25" is invalid:
spec.freight: Invalid value: "889fc25d3e8cbe2a966458fcce7a8936ceb0e1a1":
Freight is not available to this Stage'
observedGeneration: 67
reason: ReconcileError
status: "False"
type: Ready
- lastTransitionTime: 2025-03-03T17:19:19Z
message: Stage is healthy (performed 1 health checks)
observedGeneration: 67
reason: Healthy
status: "True"
type: Healthy
- lastTransitionTime: 2025-03-03T17:19:20Z
message: Freight has been verified
observedGeneration: 67
reason: Verified
status: "True"
type: Verified
- lastTransitionTime: 2025-10-31T08:58:35Z
message: ""
observedGeneration: 67
reason: RetryAfterError
status: "True"
type: Reconciling
I agree the proposed feature would be useful.
Note however:
When a soak time is configured for a Stage and auto-promotion is enabled, the Kargo UI currently shows the Stage as "Reconciling". Users must manually inspect the Stage’s Live Manifest and check the status fields to see the message "Freight is not available to this Stage".
This was not intended and is a bug we need to fix. When I have a moment, I'm going to split it out into its own issue because that is probably quite easy to address.
With that removed from the equation, the proposed feature can be considered on its own merits.