Skip to content

Commit d739a9d

Browse files
committed
fix(rollouts): put the live progression above the analysis history
AnalysisRun History rendered above the canary step timeline and the blue-green progression, so an operator opening a paused rollout scrolled past finished runs to reach the step it is actually sitting on. That step is the most decision-relevant thing on the screen. History now sits below ReplicaSets and starts collapsed. It answers "has this been flaky before", which is a question you go looking for, not one you need in front of you mid-rollout.
1 parent d6b835f commit d739a9d

1 file changed

Lines changed: 32 additions & 31 deletions

File tree

‎packages/k8s-ui/src/components/resources/renderers/RolloutRenderer.tsx‎

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -706,8 +706,39 @@ export function RolloutRenderer({ data, onNavigate, capabilities, onAction, pend
706706
</Section>
707707
)}
708708

709+
{isCanary && steps.length > 0 && (
710+
<Section title={`Canary Steps (${steps.length})`} defaultExpanded>
711+
<CanaryStepTimeline
712+
steps={steps}
713+
currentStepIndex={currentStepIndex}
714+
stepAnalysisStatus={analysisRuns.find((r) => r.label === 'Step analysis')}
715+
onNavigate={onNavigate}
716+
namespace={data?.metadata?.namespace}
717+
/>
718+
</Section>
719+
)}
720+
721+
{!isCanary && blueGreenStrategy && blueGreenPhaseList.length > 0 && (
722+
<Section title="Progression" defaultExpanded>
723+
<BlueGreenTimeline phases={blueGreenPhaseList} />
724+
</Section>
725+
)}
726+
727+
{(revisions?.length ?? 0) > 0 && (
728+
<Section title={`ReplicaSets (${revisions!.length})`}>
729+
<ReplicaSetProgression
730+
revisions={revisions!}
731+
pods={pods}
732+
isRollout
733+
namespace={data?.metadata?.namespace ?? ''}
734+
onNavigate={onNavigate}
735+
/>
736+
</Section>
737+
)}
738+
739+
{/* Backward-looking, so it sits below the live progression and stays collapsed */}
709740
{analysisRunHistory && analysisRunHistory.length > 0 && (
710-
<Section title={`AnalysisRun History (${analysisRunHistory.length})`} icon={Activity}>
741+
<Section title={`AnalysisRun History (${analysisRunHistory.length})`} icon={Activity} defaultExpanded={false}>
711742
<div className="space-y-1">
712743
{analysisRunHistory.map((run) => (
713744
<div key={run.name} className="flex items-center gap-2 rounded px-2 py-1.5 text-sm">
@@ -744,36 +775,6 @@ export function RolloutRenderer({ data, onNavigate, capabilities, onAction, pend
744775
</Section>
745776
)}
746777

747-
{isCanary && steps.length > 0 && (
748-
<Section title={`Canary Steps (${steps.length})`} defaultExpanded>
749-
<CanaryStepTimeline
750-
steps={steps}
751-
currentStepIndex={currentStepIndex}
752-
stepAnalysisStatus={analysisRuns.find((r) => r.label === 'Step analysis')}
753-
onNavigate={onNavigate}
754-
namespace={data?.metadata?.namespace}
755-
/>
756-
</Section>
757-
)}
758-
759-
{!isCanary && blueGreenStrategy && blueGreenPhaseList.length > 0 && (
760-
<Section title="Progression" defaultExpanded>
761-
<BlueGreenTimeline phases={blueGreenPhaseList} />
762-
</Section>
763-
)}
764-
765-
{(revisions?.length ?? 0) > 0 && (
766-
<Section title={`ReplicaSets (${revisions!.length})`}>
767-
<ReplicaSetProgression
768-
revisions={revisions!}
769-
pods={pods}
770-
isRollout
771-
namespace={data?.metadata?.namespace ?? ''}
772-
onNavigate={onNavigate}
773-
/>
774-
</Section>
775-
)}
776-
777778
{/* Pod Template section (collapsed by default) */}
778779
<Section title="Pod Template" defaultExpanded={false}>
779780
<PodTemplateSection template={spec.template} />

0 commit comments

Comments
 (0)