UI: Pipeline view revamp
Checklist
- [x] 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. - [ ] I've pasted logs, if applicable.
Proposed Feature
Revamp the complete pipeline view. Right now it is good enough but becomes information overdose on scale. This feature aims to solve those issues from scratch so its useful for simple to advanced use cases.
The design revamp includes everything in Pipeline view and Promotion UX. That means Freight timeline, DAG view, list view (new) and Promote stage flow.
Find the low fidelity wireframes below to know more about incoming changes. This issue will be split into the subtasks and in individual issues by sections.
Some notable incoming changes
- Warehouse filter that can be used to separate by "Pipelines"
- Space for Promotion flow
- Hide downstream stages when number of stages scales
- Stages List view with useful filters
- Filters in freight timeline for quick freight searches
- Freight timeline with option to compact/expand
Suggested Implementation
One comment I received more than one time from people approaching us at the booth is that their developers would prefer version metadata (e.g., a Git commit SHA or image tag) to be more prominently visible instead on each "Stage" instead of the alias we show at the moment.
Reason they gave was that these versions are something they already know, and the alias is something they have to "learn" by looking at other parts of the UI.
One comment I received more than one time from people approaching us at the booth is that their developers would prefer version metadata (e.g., a Git commit SHA or image tag) to be more prominently visible instead on each "Stage" instead of the alias we show at the moment.
Reason they gave was that these versions are something they already know, and the alias is something they have to "learn" by looking at other parts of the UI.
This came up for us internally - the labels don't really mean anything to people and just end up confusing them - In my idea world I think I'd like to see both a sha and the timestamp of that sha if possible (doesn't have to be super precise but something like sha-1231232 (2 hours ago) vs sha-9595311 (2 days ago) makes it very easy to get a quick intuition of where and what that thing represents (especially to the devs who are close to the PRs and what's being merged)
What would be REALLY nice is to go a step further and pull in metadata from git/hub where possible so you could see something like:
sha-123121 (2 days ago) Replaced python with rust
or:
sha-140411 (2 minutes ago) PR #339: bugfixes and performance improvements
Ultimately our engineers think in terms of "what commit was this we're pushing" and the commit message is what they mentally reference.
I wholeheartedly agree. Perhaps it could be configurable what should be shown instead of the randomly generated alias? For example, I would prefer image tag / git tag.