minimal Install API in maintenance mode
A first cut of the install API, very minimal, to be extended later:
message InstallRequest {
string install_disk = 1;
string install_image = 2;
bool reboot = 3; // might be always true today
}
The installation should be synchronous (API can wait for the install to finish, and return the result), then trigger a reboot (?).
I think it should stream back the result as the install progresses through phases/steps/logs, and finally return either an error if it failed, or a success code.
This first cut should only be available in maintenance mode over SideroLink (enforce os:admin role simply).
But we should detach ourselves from running this via the sequencer I think, and use other means to ensure that only a single Install runs, e.g. by holding a token from a shared channel/mutex/whatever.
message InstallRequest {
string install_disk = 1;
string install_image = 2;
bool reboot = 3; // might be always true today
}
maybe it be a disk selector?
maybe it be a disk selector?
I'm not sure about it, it's an API, so something calls it explicitly. That something can evaluate the disk selector beforehand and pick a disk. From my point of view, explicit disk has easier to understand failure modes rather than implicit disk selector.
I think you should consider that most people actually want to install on software raid, rather than single disk (in future, not supprted now).
So presumably something would setup the raid and efi partitions, that way single disk won't work here for installing the bootloader, etc.
...
This is off-topic for this issue. Please don't comment on random issues, create a discussion with your ideas instead.