Workload operations
These commands inspect and operate the shared workload records behind Jobs,
Services, and VMs. For persistent Kubernetes applications, see
anycloud worker.
anycloud status
anycloud status [id]
anycloud status <id> --watch
anycloud status <id> --history
anycloud status <id> --json
| Option | Description |
|---|---|
--verbose | Show detailed events and error information |
--history | Show every Service upgrade section |
-w, --watch | Poll until a terminal state |
--interval SECONDS | Watch interval; default 5, minimum 1 |
-p, --period WINDOW | Picker window, such as 7d or 24h |
-n, --limit COUNT | Picker limit; default 200, maximum 1,000 |
--json | Raw StatusResponse JSON |
For a Service that has been upgraded, human-readable status shows only the
latest upgrade section by default and reports how many earlier workload
versions are hidden. Pass --history to show the initial workload and every
upgrade in chronological order. JSON always retains the complete flat
events[] history.
JSON contains workload, vms[], and events[]. The workload's
completedAt is when its terminal outcome became known. cleanedAt is null
while provider resources are still being released and becomes the teardown
confirmation time afterward. Each VM's independent endedAt is its compute
spend cutoff. With --watch --json, stdout is newline-delimited JSON with one
response per poll.
For Worker Jobs, workload.workerId identifies the target. The fields
image, imageDigest, command, and dockerOptions are null because
container configuration belongs to the Worker.
anycloud list
Alias: anycloud ls.
anycloud list [options]
anycloud job list [options]
anycloud service list [options]
anycloud vm list [options]
The resource commands print only their own workload type and accept ls
as an alias. They use the same filters, limits, session scope, and output
formats as anycloud list --type TYPE, and print directly without a view
picker. Their type is fixed, so they do not accept --type. Worker filtering
and watch mode are available on job list and the combined list command.
Put listing options after the subcommand, for example
anycloud job list --worker worker-id -n 400.
| Option | Description |
|---|---|
-f, --filter TEXT | Substring over ID, Worker ID, image, cloud, region, state, session, or agent |
--status STATE | Exact state |
--type TYPE | Exact type: job, service, or vm |
--worker ID | Exact Worker ID; lists Jobs targeting that Worker |
--credential NAME | One named credential |
--user USER | One GitHub username or account ID |
--session ID | Session ID, prefix, label, or agent:hash |
--agent NAME | Agent name |
-p, --period WINDOW | Start-time window |
-n, --limit COUNT | Default 200, maximum 1,000 |
-w, --watch | Pick a Cluster and Worker, then continuously refresh its Jobs |
--interval SECONDS | Watch interval; default 5, minimum 1 |
--json | Compact JSON array |
--csv | Header plus one row per workload |
--only-ids | One workload ID per line |
A bare interactive command opens a summary picker. Choose "by cluster" to pick
a Cluster and then one of its Workers. Cluster inventory loads when you select
this view, which is available even before you have any Jobs. Anycloud prints
the existing Cluster and Worker status summaries followed by that Worker's
active Jobs and the newest terminal Jobs retained by the normal bounded list.
anycloud cluster list remains the direct cluster inventory command.
To list more Jobs for the selected Worker, keep its ID in the command:
anycloud job list --worker worker-id -n 400
anycloud list --worker worker-id --status running --json
--worker takes an immutable Worker ID, skips the Cluster and Worker pickers,
and can be combined with the other list filters and output formats. It also
works in scripts and for historical Jobs whose Worker has been deleted.
It cannot be combined with --type service or --type vm.
anycloud list --watch opens the Cluster and Worker pickers directly, then
refreshes their status and the selected Worker's Jobs until interrupted.
The display fits the terminal and adjusts on each refresh after resizing.
Compact Cluster and Worker summaries remain above the Job table, with active
Jobs first and recent terminal Jobs filling the remaining rows. The footer
reports how many fetched Jobs are shown and how many active and terminal Jobs
are hidden. Long fields are truncated to fit; use the view without --watch
to inspect the full fetched list.
Watching requires an interactive terminal and cannot be combined with list
filters (including --worker) or machine-readable output.
anycloud job list --watch uses the same Cluster and Worker pickers and
refresh behavior.
Any filter or machine-readable flag prints directly. Non-interactive agent
invocations default to their own detected session; an explicit --session or
--agent overrides that cooperative scope.
On a hosted API shared with other GitHub users, the listing covers everyone's
workloads. When the returned rows include another account's work, it adds a
USER column naming each creator even if that account is the result's only
creator. The interactive summary offers "by user" when several creators are
present. Narrow to one person with --user, which accepts a username or an
account ID. An account ID still matches work submitted before a username
change; the username does not, because it is recorded once at submit time.
Human-readable, JSON, and CSV output use Service terminology. Machine-readable
rows identify Services with workloadType: "service".
Worker Job rows include the same target and null configuration fields as
status JSON; their CSV image cells are empty. List JSON returns env and
githubToken as null and sshPrivateKey as "" for every workload.
anycloud exec
anycloud exec [id] "<command>"
On VM-host providers, including Vast, the command runs inside the workload container over the API's SSH transport. Worker-targeted Jobs reject exec because multiple Jobs may share the persistent process.
anycloud logs
anycloud logs [id] [--follow]
| Option | Description |
|---|---|
-f, --follow | Stream until interrupted |
-w, --watch | Alias for --follow |
VM-host workloads stream Docker logs. Worker-targeted Jobs reject logs; observe the persistent application's logs through Kubernetes tooling when needed.
anycloud ssh
anycloud ssh [id]
anycloud ssh <id> --host
anycloud ssh <id> --vm
anycloud ssh <id> --snapshot
The default opens a shell inside the workload container. --host opens the
underlying host; --vm is its compatibility alias. --snapshot commits an
exited container and opens a shell in the snapshot. A stopped VM container is
never bypassed with an implicit host shell, and VMs do not support --snapshot.
Provider-run-image substrates and Worker-targeted Jobs do not support the
interactive SSH shell.
anycloud terminate
Terminate one or more workloads and clean up their cloud resources:
anycloud terminate [ids...]
With no ID in a terminal, choose workloads interactively.
anycloud resubmit
Put eligible terminal workloads back in the queue:
anycloud resubmit [ids...]
VM-backed Jobs reuse their original container configuration; Services reuse their current configuration. Worker Jobs retain their Worker target and use that Worker's current configuration when selected for execution, so a resubmission can run newer configuration.
VMs cannot be resubmitted; use anycloud vm <image> to create a new host.