upgrade/switch: Support trickle-fetch
- Dominant language
- Rust
- Stars
- 2.3k
- Forks
- 230
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 38
Description
We should have explicit support for "trickle fetching" where we fetch as much as we can given a certain amount of bandwidth.
Related to this, it'd be good to document how to apply explicit bandwidth limits (via e.g. [tc](https://man7.org/linux/man-pages/man8/tc.8.html)).
A simple way to do things today would be something like `bootc upgrade --max-layers`; that'd limit the number of newly fetched layers. Or we could have `bootc upgrade --max-bytes 100M` to fetch at most 100M of data (ignoring metadata overhead). Today at least with the default ostree-container backend we don't retain partially fetched layers, so that'd need to be done. Alternatively we could dig into whether c/storage supports all of this and build on [unified storage](https://github.com/bootc-dev/bootc/issues/20).
Contributor guide
Assessment
This issue has not been assessed yet.