I'd be really interested in seeing a system based around Git and something like buildpacks instead. IoT definitely feels like the right space for pushing small diffs for deployments.
I'd be really interested in seeing a system based around Git and something like buildpacks instead. IoT definitely feels like the right space for pushing small diffs for deployments.
You can see the ones OOTB here: https://hub.mender.io/c/update-modules
Also, you can write your own update type if you have a more custom use case: https://docs.mender.io/2.2/devices/update-modules
Does that make sense? Git and buildpack support is not yet OOTB but should be fairly simple to add with a new update module. Note however, that those type of updates may not be easy to roll back (or make atomic - meaning you can get partially installed updates and bricked devices/applications if you lose power).
That seems like a really big image? Alpine-based images in my experience tend to be under 100MB.
But I would be fascinated to use p2p for distributing image layers; it feels like that shouldn't be too hard?
EDIT: it's been done, apparently:) https://blog.bonner.is/docker-registry-for-ipfs/
Another common reason for large images is the Nvidia ecosystem. Most of the images that Nvidia publish can get close to 1GB. However, these should only need to be pulled to devices once until you need to upgrade the base image.
I can certainly see how pulling a base image could require that kind of download size, but subsequent updates should only need to pull the layers that have changed.