Due to nature of our remote device it is not possible to have automatic updates, nor to poll in background to check for availability of updates as connectivity is not always available and we’d prefer to have client (user) click to check for updates.
I like the new(ish) client option to force update check but this would only work if mender client is running in background. Besides setting ridiculously long poll interval, is there a way to prevent auto polling?
Thanks @dellgreen, it’s nice to have the API option so may have to go that route. Our app is developed using nodejs and the API may be decent way to manage updates. Thanks for your input.
Any progress on that? We would also like to be able to trigger updates, either automatically at certain hours (during the night for example), or when the user decides via our app, but not at random time via polling interval.
No news, but I think the answers here give the wrong impression, it’s totally possible to achieve this with today’s features. Using a super long (as in hundreds of years) polling time works just fine, and then you can use mender check-update to trigger a manual check.
Now, there is a possibility that the client may still check at certain times, for example after rebooting. If you want to be extra safe, use a Sync_Enterstate script where you check a condition: Only if the user has initiated a check do you return success, if they haven’t, then you return failure, which causes the client to skip the update check. Be careful not to make mistakes here; if you keep returning failure always, then the client will never download any update again!
No news, but I think the answers here give the wrong impression, it’s totally possible to achieve this with today’s features. Using a super long (as in hundreds of years) polling time works just fine, and then you can use mender check-update to trigger a manual check.
Now, there is a possibility that the client may still check at certain times, for example after rebooting. If you want to be extra safe, use a Sync_Enterstate script where you check a condition: Only if the user has initiated a check do you return success, if they haven’t, then you return failure, which causes the client to skip the update check. Be careful not to make mistakes here; if you keep returning failure always, then the client will never download any update again!
I think this workaround has a drawback. As far as I understand preventing the device from entering the Sync state also prevents inventory updates which might be undesired. You could still put the same logic into Enter_Download I guess. But IMHO it would be much clearer and easier to use to add the option to disable update polling to the mender client.