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

updates: Enable background downloading of pallet updates #254

Open ethanjli opened 1 month ago

ethanjli commented 1 month ago

We should add a cache add-plt {pallet path}@{version query} subcommand (and also a plt cache-upgrade subcommand as an alias for forklift cache add-plt "$(forklift plt show-upgrade-query)") to be able to cache updates to the local pallet, and all of its dependencies for staging (i.e. required pallets, required package repos, required file downloads, and required container images), without having to modify the local pallet. After downloads finish, it should be possible to run plt upgrade (to be added by #246) without having internet connectivity. It should also be possible to recover from a loss of internet connectivity while attempting to download everything (see #267).

Then it would be possible to run forklift plt show-upgrade and (if an upgrade exists) forklift plt cache-upgrade whenever we connect to the internet, and/or in a systemd timer. Once forklift plt cache-upgrade completes successfully, then the OS can notify the user that an upgrade is ready to be applied.