Auto update of nodes

With some changes I made to containers recently (https://github.com/fuseio/fuse-network/pull/78) we have much improved version control for all components of a node. As such we can now introduce an “auto update” feature.

Flow -
• Have the quickstart spawn a cron job every 24hrs to run a new script “checkForUpdates.sh”.
• Every 24hrs the checkForUpdates script pulls the Version file from git and compares the version in the file to those currently running.
• If the versions don’t match it reruns the quickstart which will pull the new containers. If they do match the script exits and gets executed on the next 24hr cycle.

This feature will be configurable in the env file (node owners can disable it if they wish) but will default to on.

The benefit of this is that we will no longer have out of date nodes on the network since they will be automatically kept up to date.

The new auto update script could also ping https://bot.fuse.io/api/v1/offline every 24hrs and check if they are in the list if so it can re kick the quickstart to try and resolve the errors.

Good ideas @Andy.

My only thought is this is a fairly centralised solution to people not managing their nodes correctly.

Is a better way to only allow containers in the network that are the correct version? So if people don’t keep up to date with upgrades, their node just isn’t included in the validating set.

This may be more difficult to implement, is it even possible?

But it would put the responsibility for node management back to operators, which is where it should be.