Skip to content

Rack groups and other small changes - #9

Merged
mwindower merged 7 commits into
mainfrom
rack-groups
Sep 18, 2026
Merged

mwindower merged 7 commits into
mainfrom
rack-groups

Conversation

@mwindower

@mwindower mwindower commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Description

  • use a better name instead of "three-rack": rack group
  • some UI layout modifications
  • move more fields to advanced section
  • improve UI notifications and warning

Used AI-Tools ✨

  • Claude Opus 5

mwindower and others added 6 commits September 18, 2026 11:24
- Rack.kind 'three-rack' becomes 'rack-group' (no migration, the format
  is still alpha); a group's `name` names the group and the new
  `memberNames` name its left, middle and right physical racks.
- New racks take the next free "Rack <N>" above the highest in use (a
  group takes three), and switching a rack's kind keeps names unique.
  Validation warns about duplicate physical rack names.
- The racks view draws a rack group's three elevations in one dashed box
  with the group name, like the topology already does.
- New server groups default to the current MicroCloud H13 instead of the
  end-of-life X11.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The rack header keeps the name, rack type and, for a rack group, its
member names as read-only text. The leaf model and count and a group's
member name inputs move into Advanced next to height and power budget.

Rack issues that can only be fixed there (height, power, a group's
duplicate rack name, leaf model and count) carry target.field
'advanced'; clicking one unfolds the section, and its summary shows
their badges.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The central rack keeps the counts (spines, exits, routers, superspines,
storage leaves) and the management network's layer and redundancy in
view, with the chosen models as a read-only line under the heading. The
model pickers and mgmt leaves per rack move into Advanced, which is now
grouped into hardware models, fabric links and rack defaults.

Model issues and the mgmt spine fiber warning carry target.field
'advanced', so clicking one unfolds the central rack's Advanced too.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The central rack's visible fields are now fabric type, spines, exits
(plus superspines with that tier) and the management network's layer
and redundancy. Internet routers and storage leaves join the models in
Advanced, whose first group becomes "Devices and models".

In a rack section, "Add server group" now sits right below the server
groups, above the Advanced section.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- A rack section's leaf ports, fabric ratio, issues and node count move
  to the right of its header row, as in the central rack. The chips are
  shorter ("Leaf ports 58 / 60", "115 nodes") with the details in hover
  hints, so a rack group's header fits on one line.
- No long dashes in any UI text: prose uses a colon, comma or
  parentheses, section subtitles a middle dot, empty cells an en dash.
  src/uiText.test.ts fails on any outside comments.
- New README screenshots of the current UI (rack groups, folded
  Advanced sections, current hardware) with updated captions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Templates, Export JSON, Import JSON and Reset now form a right-aligned
toolbar above the plan name and topology instead of sharing their row.
The README's plan screenshot is retaken.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The spread test from #8 still set kind 'three-rack', which this branch
renamed to 'rack-group'; build it with withRackKind like its siblings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mwindower
mwindower merged commit 6ed9d01 into main Sep 18, 2026
4 checks passed
@mwindower
mwindower deleted the rack-groups branch September 18, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant