I would like to share another project with the community called open-balena-delta, which is a delta update server for open-balena
. The goal of this project is to optimize the device update process, resulting in significantly less traffic to devices when downloading images.
Traditional updates result in devices re-downloading all layers after the point where a change is made in the dockerfile, even if those subsequent layers have not changed. open-balena-delta
utilizes balena-engine (v3 delta updates) or rsync (v2 delta updates) to do a binary compare of the image, and only result in downloading of the changed data relative to the image already installed on a device.
To utilize the open-balena-delta
project, you will need to integrate it into your open-balena
instance, ideally at the time of installation (or re-installation) but it is also possible to add in after the fact, though you’ll need to follow the necessary configuration steps outlined on the github page. I have integrated the configuration and deployment steps into open-balena helm scripts for thoes running open-balena
on k8s.
While I will continue to build out this project and post updates, I would welcome any contributions from the community to accelerate the effort. And lastly, a huge thank you to the balena team for providing this amazing product that we are building upon and supporting the open source community who uses it.