Three things the school console offers over /srv/linbo have no equivalent in the API, so a client built on the API cannot reach them. All three are content the server already writes and holds; what is missing is a way to read it.
Checked against all 127 routes of 7.4.11 (/openapi.json): iso and example match nothing, and the only backup routes are the three under /v1/linbo/images/{image_name}/….
1. Backups of a start.conf
Deleting or saving a group leaves a backup next to it:
/srv/linbo/.start.conf.<group>.bak.<epoch>
A server that has been in use for a while accumulates a good number of them, and they are the only way back after a bad edit. The console reaches them through its own generic file-backup service (lmFileBackups.show('/srv/linbo/start.conf.' + group)), which is a webui feature rather than an API one.
Useful would be the same shape the image backups already have:
GET /v1/linbo/startconfs/{group_id}/backups — list them, with timestamp and size
POST /v1/linbo/startconfs/{group_id}/backups/{timestamp}/restore
DELETE /v1/linbo/startconfs/{group_id}/backups/{timestamp}
2. linbo.iso
/srv/linbo/linbo.iso is built on the server and the console offers it for download (/lmn/download/linbo.iso, again a webui route). There is no API route that serves it, so an API client cannot offer the download at all.
GET /v1/linbo/iso would be enough.
3. The example start.conf files
/srv/linbo/examples/ ships a set of ready-made layouts:
start.conf.win10-efi start.conf.ubuntu-efi start.conf.win10-ubuntu-efi
start.conf.opensuse start.conf.ubuntu2004 ... (12 files)
image.postsync image.prestart win10.image.reg win11.global.reg
The console offers the start.conf.* ones as templates when creating a group (GET /api/lmn/linbo4/config/examples/{name}) and the .reg/.postsync/.prestart ones as starting content in the image sidecar editor. Neither is reachable through the API.
GET /v1/linbo/examples — list them
GET /v1/linbo/examples/{name} — return one
Why it matters
These are exactly the places where a client on the API is forced to be worse than the console for no reason on the server side: the files exist, are already maintained by linuxmuster, and only lack a route. The image backups show the pattern is already accepted; the other two are plain reads.
Happy to send PRs for any of the three if the shapes above look right.
Three things the school console offers over
/srv/linbohave no equivalent in the API, so a client built on the API cannot reach them. All three are content the server already writes and holds; what is missing is a way to read it.Checked against all 127 routes of 7.4.11 (
/openapi.json):isoandexamplematch nothing, and the onlybackuproutes are the three under/v1/linbo/images/{image_name}/….1. Backups of a
start.confDeleting or saving a group leaves a backup next to it:
A server that has been in use for a while accumulates a good number of them, and they are the only way back after a bad edit. The console reaches them through its own generic file-backup service (
lmFileBackups.show('/srv/linbo/start.conf.' + group)), which is a webui feature rather than an API one.Useful would be the same shape the image backups already have:
GET /v1/linbo/startconfs/{group_id}/backups— list them, with timestamp and sizePOST /v1/linbo/startconfs/{group_id}/backups/{timestamp}/restoreDELETE /v1/linbo/startconfs/{group_id}/backups/{timestamp}2.
linbo.iso/srv/linbo/linbo.isois built on the server and the console offers it for download (/lmn/download/linbo.iso, again a webui route). There is no API route that serves it, so an API client cannot offer the download at all.GET /v1/linbo/isowould be enough.3. The example
start.conffiles/srv/linbo/examples/ships a set of ready-made layouts:The console offers the
start.conf.*ones as templates when creating a group (GET /api/lmn/linbo4/config/examples/{name}) and the.reg/.postsync/.prestartones as starting content in the image sidecar editor. Neither is reachable through the API.GET /v1/linbo/examples— list themGET /v1/linbo/examples/{name}— return oneWhy it matters
These are exactly the places where a client on the API is forced to be worse than the console for no reason on the server side: the files exist, are already maintained by linuxmuster, and only lack a route. The image backups show the pattern is already accepted; the other two are plain reads.
Happy to send PRs for any of the three if the shapes above look right.