Skip to content

Improve dstack fleet table readability and ordering - #4093

Open
peterschmidt85 wants to merge 1 commit into
masterfrom
fleet-table-ux
Open

Improve dstack fleet table readability and ordering#4093
peterschmidt85 wants to merge 1 commit into
masterfrom
fleet-table-ux

Conversation

@peterschmidt85

@peterschmidt85 peterschmidt85 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

dstack fleet output was hard to read. Three changes:

  • Fleet rows are dimmed, instance rows aren't. Before, both were the same brightness, so the instances nested under a fleet didn't stand out — and those are usually what you're looking for.
  • Statuses are colored: green idle, blue busy/provisioning/terminating, red unreachable/failed, gold degraded, dim terminated. Before, almost every status was plain white.
  • Fleets are sorted newest first. Before, the order changed on every run.
Screenshot 2026-08-04 at 15 47 23

🤖 Generated with Claude Code

The fleets table was hard to scan: every status rendered in the same
neutral white, no column was dimmed, and fleets came back in arbitrary
order because the `/fleets/list` endpoint had no `ORDER BY`.

Colors now follow one rule — blue for occupied or in-flight, green for
ready, red for broken, gold for degraded, dim for settled — and bold is
reserved for statuses that need attention. Note that the previous color
map was partly dead: `grey` is not a valid rich color, so rich silently
dropped those styles, including the bold.

Dimming distinguishes the two row types. A fleet row describes what was
requested (name, resources, candidate backends, price cap) and is dimmed
throughout, so it only draws the eye when its status is not `active`. An
instance row shows what actually exists and is billed, and stays bright.

Also drops the `-` placeholders in favour of blank cells, and formats the
max price range as `$0..1` rather than `$0..$1`.

Fleets are now sorted newest-first, both in the CLI so that it works
against existing servers, and in `list_project_fleet_models` so the
endpoint is deterministic for other clients.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant