PeerTube icon indicating copy to clipboard operation
PeerTube copied to clipboard

Update plugins without downtime

Open kontrollanten opened this issue 4 years ago • 4 comments

Describe the problem to be solved When updating a plugin the plugin will be unavailable during the installation. We're storing all our plugins at s3fs, which means it takes 15-60 minutes to update.

Describe the solution you would like: Let the plugin be available during the whole installation.

Describe alternatives you have considered Install in the new version in tmp folder and just do a quick switch when it's done.

kontrollanten avatar Mar 03 '22 08:03 kontrollanten

An easy solution could be to have the following file structure:

storage/plugins/latest (symlink) storage/plugin/[checksum of package.json]

So the latest folder is always stable, and the symlink will change after update. Any opinions, @Chocobozzz ?

kontrollanten avatar Mar 08 '22 13:03 kontrollanten

I'm sorry but I'm not sure I want to maintain this particular use case. Plugin installation/updates should be quite fast (a few seconds). If it takes 15-60 minutes on your system, I don't think s3fs is the appropriate tool to store PeerTube server files (including plugins).

Chocobozzz avatar Mar 08 '22 15:03 Chocobozzz

I know s3fs is a bad solution for such case, and we will switch do a disk. But even a few seconds is bad for us, especially if something goes wrong with the update and the plugin will be unavailable for a longer time.

The use case is that we've a plugin that exposes an API that is critical in some apps that we're developing.

kontrollanten avatar Mar 09 '22 04:03 kontrollanten