How do you handle (auto/manual) updating apps with confidence?
-
I discovered something new today with how Cloudron performs App updates.
I disabled the auto-update of my n8n server, because n8n is a very sensitive/critical piece in our system, and I didn't want to run into troubles with "automated regressions" caused by automated updates.
Naively, and without checking it, I thought that when I clicked on "Update" button, it would update to the latest version available.
But it doesn't! It only updates 1 version per 1 version.
I updated n8n two days ago to v1.53.1, and noticed today the regression (which was fixed in 1.53.2 and was able to update it to fix the regression.
And that's when I noticed those releases were quite old already! The latest version is 1.58.1.
But n8n will only allow me to update to 1.54.2:
And, considering each update creates a downtime of 2-4 minutes, I can't really chain manual updates like that. Even without downtime, it would take me too much time to manually chain updates to reach the latest stable version.
Also, I understand Cloudron performs a backup when doing an update, but I couldn't find any way to "rollback" to a previous version for instance. What if I run into an issue like what happened in
1.53.1
but there is no fix released to address it yet, what are my options then?I certainly wish to handle my updates in a more reliable way:
- Ability to rollback to a previously installed version
- Configure auto-update to "wait" 2 weeks after a version has been released before installing it
- This aims at avoiding causing a system regression due to an auto-update that happened before a bug in production was identified and solved
- Chain updates for minor versions
- For instance, if an App releases
1.53.1
on Sept 1st, and then1.53.2
the next day, and1.53.3
the next day again, then combined with "awaiting 2 weeks" rule, the auto updater should chain update 1.53.1, 1.53.2 and 1.53.3 at the same time, around Sept 15th.
- For instance, if an App releases
Those abilities combined together would feel much more reassuring from my point of view, I don't feel safe enabling auto-update on critical apps at this time, although I really don't want to manually update version one by one either, and wish to keep up-to-date, even if it's a bit delayed.
-
@AmbroiseUnly said in How do you handle (auto/manual) updating apps with confidence?:
Ability to rollback to a previously installed version
this is very easy, just restore a previous backup
https://docs.cloudron.io/backups/#restore-app
The other features don't exist yet, so I'd suggest adding feature request posts for them.
Personally I just let everything update automatically as it mostly Just Works and because it's so easy to restore a backup if something breaks.
-
@AmbroiseUnly said in How do you handle (auto/manual) updating apps with confidence?:
But it doesn't! It only updates 1 version per 1 version.
Cloudron does rolling updates only - https://en.wikipedia.org/wiki/Rolling_release . In general, this is what most apps support (you cannot just from one random release to another, it's just untested by upstream developers).
Ability to rollback to a previously installed version
App -> Backup ? https://docs.cloudron.io/backups/#restore-app . This will restore the package to the previous version.
-
@joseph Yes, I understand why it must be "rolling updates", that's fine by me, it's not really the issue. The issue rather lies in the fact I wasn't fully aware of that, and how can I run many of those rolling updates quickly?
If I re-enable auto-update, how will it behave, assuming it's 10 versions behind the latest?
Will it do 1 update every day until it has caught up? -
@AmbroiseUnly said in How do you handle (auto/manual) updating apps with confidence?:
If I re-enable auto-update, how will it behave, assuming it's 10 versions behind the latest?
Will it do 1 update every day until it has caught up?correct, it will update based on the update schedule.
-
@fbartels said in How do you handle (auto/manual) updating apps with confidence?:
@joseph said in How do you handle (auto/manual) updating apps with confidence?:
based on the update schedule
Which just to have it said, could be adjusted to install a new version every hour.