Shows help
Shows version
Initializes specified root directory as a ctcli dir.
ctcli --root /path/to/dir initInstalls a package into specified root folder. Example:
ctcli install /path/to/package.tar.gzFirst it creates tmp dir and extracts an archive. Then it creates oci image config and rootfs folder. Then it copies unpacked images to current-release folder. Makes symlinks for logs folder and configs. Creates a zero backup.
Upgrades a release with binaries contained in given package. Backups previous release. Example:
ctcli upgrade /path/to/package.tar.gzCreates a tmp dir and extracts the archive. Then it creates oci image configs and rootfs folders. Next it checks diff between apps in package and apps in current release and prompts for upgrade. If user decided to upgrade, creates a backup, deletes apps from current release and copies files from tmp folder to current release.
Deletes a release completely. Example:
ctcli deleteStarts current installation. Example:
ctcli start [app]Stops current installation. Example:
ctcli stop [app]Shows logs (stdout/stderr) of specified service. Example:
ctcli logs [--tail <n>] [-f] <app>Options:
--tail 100- Show latest 100 bytes-f- Follow log file
Show current status. Example:
ctcli statusExecute a command inside a container. Example:
ctcli exec busybox cat /etc/hostsMakes an archive containing current-release/, data/ and config/ folders and puts it into releases/ folder
--ignore-dataflag disablesdata/folder backup
ctcli backup [--ignore-data]Shows current release app list and each app version
ctcli release-infoInstall previous release
ctcli rollback /path/to/archive.tar.gzShows full list of releases and highlights current release.
ctcli list-releases/releases - Previous releases and etc.
/config - Services' configs
/current-release - Current installation
/logs - Logs
/data - app persistent data
/runc-root - runc containers root dir
/tmp - Temporary directory
meta.json - contains PackageMeta object and has commitSha, imageTag and etc
package/ - contains package content
./runc.amd64 - runc binary
./umoci.amd64 - umoci binary
./apps - apps in container
./{app} - app in package
./package-config.json - contains AppPackageConfig object
./version.json - contains info about app image version
./skopeo - contains oci image that umoci will then extract
Backup is an archive and has following structure:
/config - app configs
/apps - apps
/data