Open source build server for openbalena, a platform to deploy and manage connected devices.
10K+
Open source build server for openbalena, a platform to deploy and manage connected devices.
The goal of this project is to faciliate push builds, which allow for significant performance enhancement by utilizing remote docker servers. On its own, open-balena only supports deployment of applications using balena deploy, which runs builds on a local machine. This project also facilitates the usage of both amd and arm architecture build servers, further enhancing performance by running native builds. This project also integrates with open-balena-delta, allowing for the generation of delta images at the time of build, making the device update process much faster as devices do not wait for delta updates to be created.
This project is compatible with open-balena and specifically relies on the open-balena-api and open-balena-registry components. This project is also compatible with open-balena-delta for creating delta updates.
open-balena-builder is meant to be installed as part of open-balena, and ideally at the same time. For thoes running open-balena on k8s, we have included services to build it in the open-balena helm project. If you are running open-balena via docker-compose, you will need to modify the scripts to mirror the setup in the helm charts or recreate it using the configuration steps below.
To configure open-balena-builder you must define four environment variables and two volumes for the container:
Environment Variables:
open-balena base hostname i.e. openbalena.<yourdomain.com>open-balena-api hostmame, i.e. api.openbalena.<yourdomain.com>open-balena-delta hostmame, i.e. delta.openbalena.<yourdomain.com>. Note that this is an optional variable, and if omitted, delta updates will not be generatedopen-balena-builder)open-balena-builder)open-balenaNote that you can omit one of the AMD64 or ARM64 docker host variables, just not both, as open-balena-builder needs at least one docker host to run builds.
Setting up the docker hosts is outside the scope of this project, however if you utilize the helm scripts linked above for installation, you will be provided with templates for these.
Hostnames:
You will also need to set up a new hostname for your open-balena-builder instance, which likely will just be mapped to your open-balena haproxy instance, assuming you used the helm script or otherwise integrated it with your docker-compose scripts.
open-balena-haproxyDelta Updates:
To enable delta updates, follow the installation and configuration instructions in the open-balena-delta repo.
Once installed, you can utilize the builder via balena-cli by running balena push <fleet name> - and watch it build / deploy remotely!
Content type
Image
Digest
sha256:d3e1f4231…
Size
385.7 MB
Last updated
over 1 year ago
docker pull obcommunity/open-balena-builderPulls:
2
Last week