create
Create a box from a base image or by cloning another box| Argument / option | Description |
|---|---|
<NAME> | Name. |
-b, --base <BASE> | Base image to create from [default: box-base] |
-f, --fork <BOX> | Create by cloning another box filesystem (cannot combine with —base) |
-t, --tag <TAGS> | Tag as key=value (repeatable); used for filtering with zomg list -t |
-d, --data <DATA> | Attach a persistent data volume as NAME=/mount/path[:ro|:rw] (repeatable; path must avoid reserved roots) |
-e, --env <ENV> | Environment variable as KEY=VALUE (repeatable) |
--env-from <BOX:ALIAS> | Inject another pack instance’s outputs under an alias, as BOX:ALIAS (repeatable) |
--cpu <CPU> | CPU cores (e.g. “2” or “500m”) |
--memory <MEMORY> | Memory limit (e.g. “2G”, “512M”) |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
list
List boxes in a project| Argument / option | Description |
|---|---|
-a, --all | List boxes across all projects |
-q, --quiet | Print only box names (useful for scripting) |
-t, --tag <TAGS> | Filter by tag as key=value (repeatable, AND logic) |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
show
Show box details| Argument / option | Description |
|---|---|
<BOX_NAME> | Box ref. |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
-f, --force | Force the operation. |
update
Update a box’s resources or tags| Argument / option | Description |
|---|---|
<BOX_NAME> | Box ref. |
<SETTINGS> | Settings as KEY=VALUE (CPU, MEMORY, or TERMINATION_GRACE_PERIOD_SECONDS) (repeatable) |
-t, --tag <TAGS> | Update tags as key=value (repeatable, replaces user tags) |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
publish
Publish a box port at a public hostname| Argument / option | Description |
|---|---|
<BOX_NAME> | Box ref. |
--port <PORT> | Port inside the box to publish |
--as <NAME> | Name under the Zomg domain (omitted for a generated name) |
-f, --force | Force takeover if the name is already published elsewhere |
--public | Skip deployment auth; anyone with the URL can reach it |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
unpublish
Remove a box publish| Argument / option | Description |
|---|---|
<BOX_NAME> | Box ref. |
<NAME_OR_HOST> | Publish name or full host to remove |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
delete
Delete one or more boxes| Argument / option | Description |
|---|---|
<BOXES> | Box names to delete (repeatable) |
-f, --force | Force delete without confirmation |
--wait | Wait until API cleanup fully completes instead of accepting 202 deleting |
--wait-timeout <WAIT_TIMEOUT> | Maximum seconds to wait for API cleanup when —wait is set. Defaults to 240. |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
stop
Stop a running box; its filesystem is preserved| Argument / option | Description |
|---|---|
<BOX_NAME> | Box ref. |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
-f, --force | Force the operation. |
resume
Resume a stopped box| Argument / option | Description |
|---|---|
<BOX_NAME> | Box ref. |
-p, --project <PROJECT> | Target project. |
-j, --json | Print the JSON response. |
-f, --force | Force the operation. |
inject
Copy local credentials (SSH key, Codex auth, gitconfig) into a box| Argument / option | Description |
|---|---|
<BOX_NAME> | Box ref. |
--codex-auth <CODEX_AUTH> | Path to Codex auth.json (default: ~/.codex/auth.json) |
--codex-toml <CODEX_TOML> | Path to codex.toml (default: ~/.codex/config.toml) |
--ssh-key <SSH_KEY> | Path to SSH private key (default: ~/.ssh/id_ed25519, id_rsa, id_ecdsa) |
-p, --project <PROJECT> | Target project. |