Replies: 1 comment 2 replies
The transient storage is only the size of the delta in the tar layers though. Bigger picture though, I think oci-delta is going to be the best solution to what you're asking about so it's probably best to move this discussion there. |
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The development experience with containers are really great, but I have questions or rather said reservations about using oci specification as a transport protocol and storage medium. To my understanding bootc uses ostree as an implementation detail, but it's not guaranteed that this will always remain in place. In certain aspects, I believe the transport mechanism of ostree seem to be better fit, so I'm left wondering how practical applying bootc is and what to expect from it.
To give some context, I work with small embedded devices, like the Raspberry PI with dedicated emmc storage. Due to the limited capacity, the storage often doesn't allow for a real a/b partitioning. Common scenario is that these devices might have a cellular data plan, to receive updates, so both storage usage and transport of updates should be efficient. In this area, it seems to me, it's still a bit immature and maybe just plain inefficient.
The project oci-delta suggests that the transport inefficiencies could be addressed, but the consumable device will require sufficient "transient" storage. Since storage is also limited, on first glace, the 'reference' oci-archive, the 'delta' oci-archive, and ostree commit on device is simply is not enough disk space for. Maybe for small updates it's fine, but maybe for a larger update i'm worried of cannot fulfill the constraints. With a traditional a/b update you know exactly you can split emmc, and with ostree you know your worst-case scenario will be a classical a/b update, but with oci-delta's you suddenly also need pull all of this transient storage from somewhere.
I'm just wondering where small devices fit in the ecosystem, I think maybe these devices could/should have an option to use a more traditional central repository like ostree, something that could import bootc containers and serve them as regulair ostree commits for example.
All reactions