Download other service image on demand

I have a multicontainer application to be deployed to edge devices.

One container(service) is pretty fat(~3GB image size) so I’d like to do the following:

  • Don’t deploy the fat one, but deploy a lightweight service.
  • If the network speed on edge device is enough to download the fat one(checked inside the lightweight one), download it and start it.

Is this doable?
I have checked balena supervisor API doc, but seems impossible?

Cheers,
Shane.

Hello @scarlyon

Maybe you can have 2 releases (1 with the light service and 1 with the fat service) and then decide what release you want to run on each device? Does it make sense for you?

Hi, @mpous
This sounds very interesting… However, how can we deploy a certain release to a certain device?

Does the balena-sdk support this feature?

Cheers,
Shane.

1 Like

Hi there, you can deploy a release to a certain device by “pinning” the device to that release. This can be done via the sdk as so:

1 Like

Thanks for your advice! Will give it a try and get back to you! :slight_smile:

1 Like