Cockpit shows all apps with one-click bundle install; deployer pre-installs the right tester set; runbook matches #241
Labels
No labels
meeting-notes
meeting-transcript
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/home#241
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A tester who opens the cockpit should see the full app set, use the ones that are pre-installed, and install the rest with one click. None of this should be a manual operator step: the deployer must install the right set on a fresh tester, and the runbook must document the admin-side hub and the tester-side set accurately. This issue tracks making that true end to end.
Today there are gaps. On a live tester we found: only the Hero Books server binary was running (no web, no admin), so the librarian had no UI; the cockpit catalog lists each app by its admin binary only, so the server and web variants never show; hero_memory (the librarian's backing store) is not in the cockpit catalog; and the deployment runbook still lists services that the current architecture removed. The validation we did to confirm the pieces work was done by hand on one tester. The point of this issue is to move all of it into the deployer and the runbook so it is automatic.
The model we agreed (cockpit UX)
A service ships as a bundle of binaries (server, web, admin). The cockpit treats the unit of install as the app and the unit of display as the binary:
This is simple and avoids the footgun of installing a web frontend without its server.
Three coordinated pieces
1. Cockpit catalog (hero_cockpit)
2. Deployer tester service set (hero_os_tfgrid_deployer)
This is the piece that makes it not-manual. A fresh tester must come up pre-installed with the agreed set, matching what we proved by hand on the live tester:
The pre-installed set stays as the current default (the apps that auto-install today); the extended set remains install-on-click via the cockpit. We can tune membership later, but the mechanism must be the deployer, not a manual step.
3. Deployment runbook (home docs)
The admin-VM deployment runbook needs to match the current architecture and document the non-manual flow:
Definition of done
Notes
Progress on the three pieces.
Piece 1, cockpit catalog: done and merged. The catalog is now modelled as apps with binary bundles. Each app lists its full set of server/web/admin binaries; an app counts as installed when any of its binaries is running, uninstalled apps render as one collapsed Install row that builds the repo once and starts every binary in the set, and installed apps show their individual binary rows. Hero Memory was added. A test pins each app's binary set to the audited repo manifests so a variant can never be silently dropped (this caught a missing Hero Foundry web binary, now fixed). Verified live on the running tester: Hero Books shows its server, web, and admin rows, and the uninstalled apps show one-click bundle Install rows.
Piece 2, deployer tester set: already correct, no change needed. The deployer's per-tester install set already lists memory, books, and voice, and the installer already registers each app's server, web, and admin variants. The reason the live tester was missing some web and admin binaries is that it was provisioned before the multi-binary layout existed, so it is a stale machine, not a deployer gap. A genuinely fresh provision produces the full set. Proving that end to end needs the provisioning environment unblocked (the compute node lookup error tracked separately); the repaired live tester stands in until then.
Piece 3, runbook: done and merged. The deployment runbook now describes the real split (shared engines on the admin VM, per-tester data and UI on the tester VM), adds a step to start the embedding and voice providers on the admin VM, and rewrites the demo-app scope to the cockpit's app-bundle model. The stale references to a per-tester embedder and AI broker are gone.
Net: the cockpit UX and the docs match the agreed model, and the install path is driven by the deployer and the catalog rather than manual steps. The one open verification is a fresh provision once the compute environment is available.