Services page: populate URL column with clickable links for _admin and _web services #12

Open
opened 2026-05-28 04:51:33 +00:00 by mik-tf · 0 comments
Owner

The Services page has a URL column but renders an em-dash for every row. Services whose service.toml declares a [[binaries.sockets]] with webui = true and protocol = "http" (every _admin and _web binary in the canonical stack) have a publicly reachable URL of the form https://{request_host}/{service_root}/{socket_type}/, which the cockpit can compute from data it already has access to. Proposal: read each running service's service.toml, find any sockets with webui = true, render the computed URL as a clickable anchor in the URL column (one URL per row; if a binary has multiple webui sockets, render them comma-separated or pick the canonical one). Clicking opens the service's own UI in a new tab, giving the tester a discoverable "open this service" affordance without having to remember the URL pattern. This pairs naturally with the install-uninstalled-services proposal: after a tester pastes a BYO AI key and installs hero_books from the catalog, the URL column immediately shows the link to /hero_books/web/ so the tester can click in.

The Services page has a URL column but renders an em-dash for every row. Services whose service.toml declares a `[[binaries.sockets]]` with `webui = true` and `protocol = "http"` (every `_admin` and `_web` binary in the canonical stack) have a publicly reachable URL of the form `https://{request_host}/{service_root}/{socket_type}/`, which the cockpit can compute from data it already has access to. Proposal: read each running service's `service.toml`, find any sockets with `webui = true`, render the computed URL as a clickable anchor in the URL column (one URL per row; if a binary has multiple webui sockets, render them comma-separated or pick the canonical one). Clicking opens the service's own UI in a new tab, giving the tester a discoverable "open this service" affordance without having to remember the URL pattern. This pairs naturally with the install-uninstalled-services proposal: after a tester pastes a BYO AI key and installs hero_books from the catalog, the URL column immediately shows the link to `/hero_books/web/` so the tester can click in.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_cockpit#12
No description provided.