Skip to content

App commands

Durable apps are named workloads the daemon keeps a healthy instance of and re-creates from spec after a restart (see Apps). run is for throwaway work; app is for a server you want to stay up.

Command Description
create <name> --image <ref> [flags] create a durable app; prints its name
update <name> [flags] replace the app's spec (same flags as create) and redeploy; name immutable
ls list apps (table: name, desired, phase, health, restarts, instance)
get <name> full app JSON (desired state + observed status)
rm <name> delete the app and tear down its instance
logs <name> [-f] [--source] the current instance's durable logs
exec <name> [-i] -- <cmd>... run a command in the current instance
shell <name> interactive shell in the current instance

Create flags

--image (required), --pull, --restart always|on-failure|never, --health http:PORT[:PATH]|tcp:PORT, --health-cmd '<shell command>' (exec check, exit 0 = healthy), --port <guest port> (proxy target), -p/--publish (repeatable), -P/--publish-all (publish the image's EXPOSEd ports), -e/--env KEY=VALUE (repeatable, delivered to the entrypoint), --net-allow (repeatable), --net-allow-cidr (public IPv4 CIDR), --net-full-egress (any public host), --vcpus, --memory, --disk, --stopped.

crucible app create web --image nginx:alpine -P -e LOG_LEVEL=info --restart always --health http:80:/
crucible app ls
crucible app logs web -f
crucible app rm web
Was this page helpful?