We are quite quickly growing our fleet of Balena devices and can I say we have been nothing short of impressed with the service!
Where we’re starting to hit friction now is our application is a base of approximately 5 services, and then depending on the customer’s requirements, we might have to start a range of another 5 (and growing) services. The issue that we’re facing at the moment is we don’t want every device in the fleet to download this catalogue of extra services, as sometimes they’re large and never required at a customer’s site. Currently we’re doing this by running docker-in-docker, our own docker registry and then only pulling images on startup as and when required. As you can imagine, its not a very ‘balena’ way of doing things! (Plus, we don’t get the benefits of seeing the service state or managing it from the console)
Is there any support, or planned support in future for us to be able to selectively control what services a device downloads? Supervisor hooks could be cool? Or is there a better way that you think we should be doing this? We’ve seen the ‘exit-if-not-required’ strategy and started doing that, but we quickly realised we’d be deploying GB worth of applications to lots of devices unnecessarily. We also cant have separate applications as the number required to support x ways of starting y services would be very hard to manage.