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:
- 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.
- 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 ashypervisor.
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.