@patrick just to clarify, you’re using balenaCloud to generate and download the OS image which you’re then preloading with the application? Have you investigated the use of openBalena? This would allow you to manage the devices yourself but still have them connect to balenaCloud later on if your user wanted.
Hi @patrick, This is actually something @agherzan is working on, which will allow preloading on an unmanager balenaOS image. So in that workflow, you would be able to download your OS from balena.io/os, then run balena preload --source /path/to/project. Then when you boot up your containers would be brought up by the supervisor and run, still having access to supervisor APIs like reboot etc.
Then we will add a supervisor endpoint called /join which your container could hit with some configuration and your device would then join a balenaCloud or openBalena backend if you want.
This work is still ongoing and hopefully the workflow will fully ready to use early next year.
Is there any way to still use the balena build servers in this workflow?
Something like:
push repo
wait for unicorn
download build
balena preload --source downloads/path/to/project
Answer: Turns out the balena-cli has a command to start the build locally.
From the directory of the app: balena deploy myApp --logs --source . --emulated
Obtaining an unmanaged balena OS.
Can the production versions be used? I don’t see anything labeled as unmanaged on the OS downloads page.
BalenaOS also comes in a Standalone or “Unmanaged” variant. This variant is exactly the same as the -dev variant but does not have the balena supervisor agent and has the balena VPN service disabled, so it will never connect to the balena management system.
Preload the unmanaged OS.
Can this be done without logging in? We’d like to avoid having to maintain an openbalena service just for preloads. Using --source still requires a login.
Logging into balena-cloud.com with the CLI on Ubuntu Linux and running: balena preload '/balena.img' --source '/path/to/project'
hangs at /Creating preload container
The supervisor endpoint /join.
Looks like it is in the CLI but not the API. Any idea when this will be available?
Unmanaged images are available here: https://www.balena.io/os/
Managed images are when you download an image from balena-cloud with the “add a new device” button.
You can push an app to balena-cloud and preload it to an unmanaged image with the cli (linux only). balena preload PathToImage --app NameOfTheBalenaApp --splash-image PathToSplashImage