The current process for upgrading a Mattermost server (found here) is somewhat painful, and feels like it takes longer than it should.
Ideally, I’d like to be able to trigger a server upgrade from the System Console, and have it take care of things for me. The same goes for server plugins… currently the administrator needs to watch the GitHub page for every plugin (or follow @mattermost onTwitter). The same goes for the desktop Mattermost client. Mobile clients get automatically updated whenever a new version is released (perfect!).
What needs to be done to make this happen?
The desktop client is probably fairly straightforward… things like Discord and Slack tell you when you need to update, you click a thing, it updates. Maybe Electron has a canned API for this, or maybe there’s a commonly-used technique?
For plugins, the server code will have to have a way to see what version(s) are available, and (presumably) what server API level they require.
For the server, I have no idea. Split plugins into “comes with the server code” vs. “added later by admins”, to make it safe® to update? Move user data out of the
mattermost directory completely? Do other Go-based servers have a good method for handling this?