Sharing mender update between multiple devices

Hi,

Is it possible to manually copy a mender update directly on a device and then tell the mender client to use this update instead of an OTA ?

We have multiple devices on the same network. It’s like a cluster of machines. But downloading N times the same update kills our 4G connection.

First option I have in mind is to have one device download the update then share it with nfs to the other devices.

Is this possible ?

Second option would be to manually scp the update on the device like the standalone deployment (we don’t have an usb port available) using a external computer.

Best regards

i think the mender client “install” command accepts a local file path or a uri,
also a https proxy might be a better option for you.

Ok.

With a proxy can I say look at the other mender client for the update ? or should I try to handle something like this

personally I would try experimenting with adding a raspberry pi, NUC or VM running linux and squid proxy into your cluster network if you can to centralise the caching of the downloads, so that its pretty much invisible to your machine cluster and they don’t need to know about each other. The are probably alternatives to squid proxy that you could try also.

https://elatov.github.io/2019/01/using-squid-to-proxy-ssl-sites/

Oh I see the main idea.
Thank you for your proposal. I will try that.

@dellgreen doing a bit of thinking based on your proposal. Do I have to stage the update meaning I say to one device to start the update process then the rest ? Or with the proxy it will manage the caching and dispatch it ?

the proxy, will cache the download, and how long it keeps it for is a config option. The proxy responds to your http requests from you client and checks the request to see what resource your are requesting and if its cached already returned the cached version rather than going out to the internet and getting it again.
You will probably want to tune the config, because often the proxy will do a basic check to internet to see if resource has been updated. you probably don’t want that as your using versioned artifacts so there shouldn’t be a new artifact with the exact same version name.