Skip to main content

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
OptionDescription
--verboseShow detailed events and error information
--historyShow every Service upgrade section
-w, --watchPoll until a terminal state
--interval SECONDSWatch interval; default 5, minimum 1
-p, --period WINDOWPicker window, such as 7d or 24h
-n, --limit COUNTPicker limit; default 200, maximum 1,000
--jsonRaw 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.

OptionDescription
-f, --filter TEXTSubstring over ID, Worker ID, image, cloud, region, state, session, or agent
--status STATEExact state
--type TYPEExact type: job, service, or vm
--worker IDExact Worker ID; lists Jobs targeting that Worker
--credential NAMEOne named credential
--user USEROne GitHub username or account ID
--session IDSession ID, prefix, label, or agent:hash
--agent NAMEAgent name
-p, --period WINDOWStart-time window
-n, --limit COUNTDefault 200, maximum 1,000
-w, --watchPick a Cluster and Worker, then continuously refresh its Jobs
--interval SECONDSWatch interval; default 5, minimum 1
--jsonCompact JSON array
--csvHeader plus one row per workload
--only-idsOne 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]
OptionDescription
-f, --followStream until interrupted
-w, --watchAlias 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.