Lack of CloudronManifest validation
-
Some fields are marked as required in the manifest documentation, but there appears to be no enforcement of this during install/update.
I have encountered this with at least the 'id' field, but I wouldn't be surprised if the same was true of other fields.
This manifests in some UI-side bugs (and presumably, other potential problems behind the scenes), such as this one:
The application undefined installed at xxxx is not responding.
-
@Robin True. Those docs were written from a time when we didn't have custom apps and you had to publish apps in the app store. The 'required' in that page actually means 'required to publish in appstore'. Given that nobody else other than cloudron.io team can publish to apps store, I think it makes sense to fix the docs to say required as false now for many of those fields.
BTW, where did you see that error "is not responding" ? Notification in the UI or CLI?
-
BTW, we do validation on both cloudron, cli tool and the appstore side. It's just doing appstore validation for requirements though. See https://git.cloudron.io/cloudron/manifestformat/-/blob/master/manifestformat.js#L319 and https://git.cloudron.io/cloudron/manifestformat/-/blob/master/manifestformat.js#L12
-
Those docs were written from a time when we didn't have custom apps and you had to publish apps in the app store.
Ahh, ok! I had guessed that there was some extra validation step before store publishing indeed.
BTW, where did you see that error "is not responding" ? Notification in the UI or CLI?
The notification was a "regular" admin UI notification, sent some time after it had been running, due to a healthcheck failure caused by a crash I think. I can try dig out the logs if that would be helpful.
-
@Robin said in Lack of CloudronManifest validation:
The notification was a "regular" admin UI notification, sent some time after it had been running, due to a healthcheck failure caused by a crash I think. I can try dig out the logs if that would be helpful.
Found it, thanks! https://git.cloudron.io/cloudron/box/-/blob/master/src/notifications.js#L195 . I guess the manifest has no title field set since it's a custom app.