Is there anyway to update an edge deployment from the edge itself without a connection to the IoT Hub? We are looking to see if we would be able to alter a module’s configuration on the edge directly and for it to work whether there is a connection or not, but use the same IoT Edge mechanisms to reduce complexity. The main reason for this is that some modules store data in a volume, to separate this data by project, the volume name is set to be the project ID, it would be good if a user at the edge is able to change the current active project, and via changing the deployment, changes the volume mount. Two possible workarounds have been identified: 1. Could do this by altering the Docker config directly via a module but feels too much like a hack 2. Another solution is having all modules pre-deployed for the possible projects the edge device is associated with (and therefore might switch between) but this would hit the 20 modules limit for Edge pretty quickly. We need to support up to five projects and projects would have 3 or 4 modules at the moment, so we would hit the limit of 20 with no room for expansion. We would also need something to route requests to the correct module for the currently active project. Lots of moving parts, not that nice but doable. Is there a way to update the desired deployment so that the edgeAgent will pick it up and process as normal, but without having to go via the IoT Hub? Essentially using the Microsoft.Azure.Devices.RegistryManager.ApplyConfigurationContentOnDeviceAsync() method but from a module on the Edge.
Asked
Active
Viewed 294 times
1 Answers
1
This is not possible today in most scenarios. IoT Hub is currently the only control plane for IoT Edge configuration. One could connect IoT Edge devices to an IoT Hub running on Azure Stack Hub for complete offline scenarios; however, that requires the use of an Azure Stack Hub which can be price prohibitive.
There is an existing feature request on Uservoice for this. Feel free to add your support there, if it was a different Richard that created that request and not you :-)

Azure IoT Edge team
- 51
- 2