Please, separate automatic apps and platform upgrades
-
Note that several app updates depend on the current version of Cloudron - if you autoupdate the app without Cloudron, you leave the app in a nun-functioning state. I don’t know if that is any better than figuring out the root cause for crashes of your updates?!
-
@potemkin_ai said in Please, separate automatic apps and platform upgrades:
Today my Cloudron instance crashed during the automatic upgrade process
do we know what the problem is?
-
@necrevistonnezr not quite correct, not from what I know at least: I remember some apps just were not updated during the transition from 7.4 to 7.5 due to some database dependency.
So, I believe, the dependency mechanism is there and could be used appropriately.
And if that's correct, I would rather have an outdated app instead of the crashed one.
-
@girish said in Please, separate automatic apps and platform upgrades:
@potemkin_ai Ah yes, thanks. I just read the ticket. This is related to sftp keys migration which happenned many releases ago. It leaves the system in an inconsistent state. Strange bug somewhere.
So was this a "standard" update or - as "many releases ago" suggests - an update crossing several versions?
-
@potemkin_ai said in Please, separate automatic apps and platform upgrades:
@necrevistonnezr not quite correct, not from what I know at least: I remember some apps just were not updated during the transition from 7.4 to 7.5 due to some database dependency.
No, happens quite frequently. Just a few examples:
- https://forum.cloudron.io/post/42603
- https://forum.cloudron.io/post/47840
- https://forum.cloudron.io/post/5325
- https://forum.cloudron.io/post/9472
- https://forum.cloudron.io/post/9950
So, I believe, the dependency mechanism is there and could be used appropriately.
And if that's correct, I would rather have an outdated app instead of the crashed one.
Agreed.
-
@necrevistonnezr said in Please, separate automatic apps and platform upgrades:
So was this a "standard" update or - as "many releases ago" suggests - an update crossing several versions?
We only have standard update i.e updating from previous version to next one. Cannot jump several versions (atleast, we have never tested this, but in any case there is no easy way to do this unless you hotfix the code from gitlab).
I was debugging a bit yesterday but we have a code path where we create keys. These keys have to be written into filesystem and the database. It's written in db for backup and written in filesystem for containers to be able to use them. Unfortunately, writing to fs and db is not an atomic operation. The current code gets confused if there is some crash between the two writes (for example, no disk space). I will just fix it to be more robust.
-
@potemkin_ai said in Please, separate automatic apps and platform upgrades:
Does it mean that separate apps updates and manual platform updates are out of the scope for the foreseeable future?
Ah no. I was simply stating the lay of the land
If it's seen as useful by many, we will implement it.
-
@potemkin_ai internally, there is only one update pattern, we have to implement splitting it up.
-
@potemkin_ai perhaps make an N8N workflow with the API
-
@potemkin_ai it can do that too
-
@potemkin_ai scripting within n8n.. or even just a bunch of curl commands I think
-
Well, if you can do it from the UI there's an API, so one can look at all the browser calls as they're made. I started a few posts here on the forum documenting my steps with similar attempts to automate it, but got stuck with no help.
Might be good to wait until @girish documents the overhauled API and makes things easier.