PlanktoScope / forklift

Composable, reprovisionable, decentralized management of apps & configs on Raspberry Pis and other embedded Linux systems
Apache License 2.0
6 stars 0 forks source link

toolchain: Enable bootstrapping into a different Forklift version #237

Open ethanjli opened 1 month ago

ethanjli commented 1 month ago

Currently, the only way to run a specific version of Forklift is to manually download it. It would be nice if we could use a downloaded Forklift binary to download and switch into a different Forklift version. This way, we could perform in-place updates of the Forklift binary installed on a system. This would be analogous to how Go 1.21 added functionality to select a specific Go toolchain version, or to how Aqua's installer can bootstrap into a different version of Aqua. The implementation of this would probably be to make the Forklift CLI be able to act instead as a shim for another Forklift binary stored in /var/lib/forklift/bin or in ~/.local/share/forklift/bin; it would select the version to shim for by checking a config file (and also checking the Forklift version declared in the stage store and local pallet, if they exist), and it would attempt to automatically download the version if it's missing.