Cloudron CLI Changes
-
Hi All,
Since we have released support for custom apps, we have received quite a bit of feedback about the CLI too. I thought I will consolidate them here (and what we are going to do about it).- No way to integrate with CI/CD. We are adding global options:
--token
and--server
to help with automation. - If a bad docker image name (say a typo) is passed to
cloudron install --image <image>
, it ends up in a unrecoverable state. This is a bug in the platform code, we will push an update coming week to fix this. For now, just uninstall the app and start over. If this was an existing app, just roll back to the previous backup. - It's not obvious that
cloudron install
also does an update. For some reason, we never thought about this obvious one We will makecloudron install
for installing new apps andcloudron update
for updating apps. - Updating an existing app with the CLI does not currently create a backup. So one can end up losing data if they push over an existing app. We will make
cloudron update
to backup by default with a flag to skip the backup. - User/Domain/Email/Other management subcommands - The CLI tool's scope currently is only for app development and nothing more. We won't put in effort to implement these subcommands in the CLI tool for now atleast. But if you want to contribute, you are welcome to. Cloudron has a full REST API, so this should be straightforward.
- Many misleading/obscure error messages. This is also getting fixed.
Hopefully, we should push out major CLI release in the coming days. If you had any other workflow issues, please post it here.
- No way to integrate with CI/CD. We are adding global options:
-
We have published CLI tool 4.0.0 with the fixes.
- https://cloudron.io/documentation/custom-apps/cli/#cicd
- https://cloudron.io/documentation/custom-apps/tutorial/#update
cloudron update
does a backup by default. Pass--no-backup
to skip it.
-
The latest CLI should give you this:
$ cloudron update --help Usage: cloudron update [options] Update app Options: --app <id/location> App id or location --image <docker image> Docker image --no-backup Skip backup [false] --no-wait Wait for healthcheck to succeed [false] --no-force Match appstore id and backup the app before updating -h, --help output usage information