Feature Specification: Component overview

Created: 2026-10-07

Status: Implemented

Input: Reconstructed from the code of core/components/hosting-provider/overview/ at 093e68b6f.

User Scenarios & Testing (mandatory)

User Story 1 - Find every web UI of a deployment on one page (Priority: P1)

An operator opens one static page with a tile per web UI of the deployment: its logo, name and host, with a link. The setups compute the list (see 005, FR-008) and give the apex its records (FR-009). By default the page is also served at the apex, so the operator only types the domain.

Why this priority: the page is the entry point of the deployment.

Independent Test: a unit test of the setups holds that the page lists only the deployed nodes.

Acceptance Scenarios:

  1. Given a UI with a light and a dark logo, When the page renders, Then the browser shows the logo of its color scheme. A UI with no logo shows the first letter of its name in upper case.
  2. Given a list of UIs, When the page renders, Then the tiles are sorted by name without case, then by domain.

Edge Cases

  • The page escapes each name and host, so a name cannot inject markup.
  • The page holds copies of only the icons it shows.

Requirements (mandatory)

Functional Requirements

  • FR-001: The component MUST serve the page on its own subdomain and, unless the deployment turns it off, on the apex, with a browser-trusted certificate for each name. It MUST open only the web ports.
  • FR-002: Each tile MUST link to its UI over HTTPS. The page MUST list a UI only when its node is deployed and holds a certificate for the name of the UI.
  • FR-003: On the central group (the one group whose roster provides the varsBackend), the setups MUST add the UIs of the groups that use central login, such as hypervisor.

Key Entities

  • Browser UI of a node: the UI on the UI subdomain of the node, and other UIs on their own names, such as the API documentation of the api node.

Success Criteria (mandatory)

Measurable Outcomes

  • SC-001: The unit test of the listed UIs passes.
  • SC-002: On a live node, the page shows one tile per deployed UI.

Assumptions

  • Each UI does its own sign-in, so the page needs none and can use a public certificate.
  • Public DNS already shows each name on the page.

Known Deviations

None.