Preloader
The preloader should receive incoming customer orders for provisioning hardware with software. The server will provide the following services:
- Storage, for balena fleet and custom OS images
- Local web server for serving images to HoD EPs
- Preloading utility, via balena cli, to configure images with pinned OS versions and application releases
An example payload from the web shop might look as follows:
[
{
orderId: "00001",
deviceType: "SDcard"
image: {
type: "custom"
url: "https://customer.com/example-image.img.tar.gz",
authentication: {
user: "username",
pass: "password"
}
}
},
{
orderId: "00002",
deviceType: "SDcard",
image: {
type: "balena"
os: "latest",
release: "72739727a045b0fa999c0be5839f7b91",
config: {
network: [
{ ssid: "network-ssid", psk: "network-password" }
]
name: "device-name",
...
}
}
}
]
Local images
The preload server should cache images for a period of X days before automatically removing them to free space.
These images will be available to the local network, with authentication, such that an EtcherPro may download the images for use.