I’m using a self-hosted mender open source server 2.2.
Consider this scenario:
I have a running deployment with some devices
I connect a new device (still unknown to mender, but pre-authorized with public/private keys) with an older firmware to internet and after its ping it will appear as an ungrouped device on mender server.
What I want is to auto-add this new device to a running deployment to update it to the latest version asap (considering the right device type).
Is there a way to create this automation with mender open source server?
This is use case is quite common and supported with “Dynamic groups” and will be introduced in the Mender Enterprise plan with the Mender 2.4 release, which is coming very soon. With Dynamic groups you can set conditions for device membership of a group instead of listing each device (as in the current Static groups) and then create a deployment targeting this group. As newly joining devices match the condition for the group and become members of the group they will get the associated deployment as well.
With Mender Open Source it is possible to create your own integration system to potentially achieve some of this as well. You could poll for new devices and assign them groups and deployments.
So which way to go depends a bit on what your tradeoff is with time and if you are able to maintain such an integration.
I think that this feature is really a must have, not only for enterprise plans but for everyone, otherwise you’ll have a cool system to update firmwares, but not automated in any way, because you always need someone that moves devices into a group and create a deployment.
I think that a feature like that doesn’t depend by the number of devices or by the size of a company, because right now it’s already a problem also with a very small amount of devices on the market.
In my opinion this is a missing feature even in the open source server. In contrast, features like scheduled deployments, phased rollouts and other things are related to many devices and large companies, so it’s perfectly clear that they’re only included in business plans.
Thanks for the feedback, much appreciated. It is always difficult to find a clear-cut way to decide on which features go into which plans and your description makes sense.
However if you are planning to use Mender Open Source I did want to mention that this use case can still be achieved, but perhaps not as “elegantly”:
It is possible to create deployment to preauthorized devices in all versions of Mender using the APIs. This means that if you preauthorize all your devices up-front, create a deployment to them (by ID) using the API, they will get the deployment once they connect. It is not perfect because it will not include devices that you have not yet preauthorized, so you would need a new deployment after preauthorizing new devices.
You can have a e.g. nightly job on a separate system to call the Mender Open Source server APIs and create deployments for devices depending on the software they already have installed (which you can find in the inventory).
So this use case is definitely possible with all editions of Mender, though some more integration work is required for non-Enterprise editions.
Hope this helps and happy to learn about your experience.