open-balena-delta: a delta update server for openbalena

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.

13 Likes

I’m sad that I can only give this a single upvote!

1 Like