I am currently evaluating mender on a set of Industrial PCs which are of the following specs:
Ubuntu 20.04 LTS (Debian family)
I went through the documentation for Deploy a container update | Mender documentation and found out that the
.mender artifact creates a meta-data where the it tells the client where it should download the respective docker images from (most often
docker.io Docker Hub)
However in certain cases the devices are completely off the Internet and they might need to have container updates which is possible only by transferring tarballs of the images and subsequently loaded using
docker load command.
Is there some functionality where on can upload such Container Image Tarballs via Mender Hosted and the update module will unload the tar ball on the target machine accordingly?
this is a scenario that can be solved by Update modules. You can use them to transport whatever payload you like, and load them whatever way you want to. The docker example that you referred to is just the most “basic” way of doing it. So your strategy should be:
- create the container by either some engine like
- pack it up in a custom update module
- deploy that through Hosted Mender
- use the custom update module logic to kick off
As this is a problem that I think is relevant not only to you, we would welcome a corresponding contribution to the public update modules repository.
I think I can try putting some effort into creating such an Update Module for Mender and get a contribution committed. Let me workout some details as to how a potential update workflow would look like and I will open an Issue on the repository for the team to discuss the potential benefits and pitfalls.
I actually think its not that complicated, probably it needs only a handful of lines Just let me know if you run into any problems.