kowala-tech / kcoin

A stable cryptocurrency that algorithmically targets $1 USD using the Kowala Protocol
https://www.kowala.tech/
Other
18 stars 16 forks source link

Automatic client updates #377

Open yourheropaul opened 6 years ago

yourheropaul commented 6 years ago

Now that we have cross-compiled, versional releases of the client based on GitHub releases, it seems like we're pretty close to being able to automatically update the client when a new version becomes available.

There is a solid Go package for accomplishing the actual binary replacement based on GH releases, which is compatible with the pattern we're using. There's also https://github.com/jpillora/overseer.

Behaviour

Since there are (or will be) two recommended ways of running the client - as a native binary and via docker - there are to general flavours to auto-updating:

Native binary:

Docker image:

Restrictions

Legal

For legal reasons, we cannot administer the network. That means:

Network config

We will run multiple networks (live net, master testnet, internal testnet) which also need to automatically update. That means clients must be able to pick the appropriate binaries -- not just the latest ones.

Other possible implications

jmatosp commented 6 years ago

going to do some poc

yourheropaul commented 6 years ago

The first part of this (the binary updating itself) is working. I'm moving this to the next milestone for the other parts.

jmatosp commented 6 years ago

@yourheropaul

Can we just RUN an update on docker start?

yourheropaul commented 5 years ago

@jmatosp: That's a good first step, but it would be idea if the binary could (optionally) auto-update itself while running and then exit, and the docker image could restart it. Then we'd have truly automated live updates for those who want them.