Ok - this may be an odd one: I’m upgrading one of our IoT applications to use Resin.io. This application has normal Ethernet access sometimes, and that works perfectly well. At other times - depending on the individual device in the fleet - it may go without normal Internet access for months at a time. When it is without traditional access, it periodically has a high-speed connection through a custom radio system. It can receive files during that period.
In our current setup, if there is an upgrade for the firmware (application in this case), we can overwrite the files as needed and restart the firmware. I’m trying to do a similar thing with Resin.io.
The perfect scenario would be something like:
- The radio host checks the Resin API to see if there is a new version - similar to how Supervisor does now, I would guess.
- If there is a new version, the radio host downloads it.
- The radio host connects to the device in the fleet and pushes the file(s) it pulled from Resin somewhere.
- The device (once it has checked the integrity of the file - we can use the same signature system we already have) notifies the Supervisor that it should upgrade, or the Supervisor somehow automatically decides that when the file delivery is complete.
- Supervisor does what it normally does, picking up with the application install instead of application download.
Is this possible? Thoughts?
Again, totally awesome system. It has already saved loads of time in a new project we used to experiment with the framework. I’m now enjoying upgrading some of our other fleet apps.