Runs
Read, stop and delete runs.
run:list
List your runs, with filters.
- needs API key
- --json: full
$ ignitify run:list [--status S] [--deployment-id D] [--task-name N] [--preset P] [--correlation-id C] [--vm-id V] [--limit N] [--after-id <id>] [--after <iso>]$ ignitify run:list --limit 1id 019f3c27-9d63-7e48-a5b0-2f17c8d4e936resource_id run_H8kQ2mNxT4pLcorrelation_id 019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35deployment_id 019f3c24-1b05-7c9a-8e21-4d6f0b93a7e2tenant_id 019f2b10-3c55-7a01-b2e4-9d0c61f7a8b3vm_id vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6status COMPLETEDtask_name image-resizepreset std.microtimeout_sec 120deadline_sec -instructions {"reuseChild":false,"heartbeatMs":5000,"streamChunks":fa…boot_fingerprint 3f9c1a2be7d41056progress -started_at 2026-10-14T09:12:04.118Zcancel_deadline_at -attempt_count 0failure_attempt_count 0updated_at 2026-10-14T09:12:06.324Zcreated_at 2026-10-14T09:12:03.540Zdeleted_at -
$ ignitify run:list --limit 1 --json[
{
"id": "019f3c27-9d63-7e48-a5b0-2f17c8d4e936",
"resource_id": "run_H8kQ2mNxT4pL",
"correlation_id": "019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35",
"deployment_id": "019f3c24-1b05-7c9a-8e21-4d6f0b93a7e2",
"tenant_id": "019f2b10-3c55-7a01-b2e4-9d0c61f7a8b3",
"vm_id": "vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6",
"status": "COMPLETED",
"task_name": "image-resize",
"preset": "std.micro",
"timeout_sec": 120,
"deadline_sec": null,
"payload": {
"payload": {},
"task_name": "image-resize",
"max_result_bytes": 10240
},
"result": {
"task": "image-resize",
"success": true
},
"execution": null,
"instructions": {
"reuseChild": false,
"heartbeatMs": 5000,
"streamChunks": false,
"sendHeartbeat": false
},
"boot_fingerprint": "3f9c1a2be7d41056",
"progress": null,
"started_at": "2026-10-14T09:12:04.118Z",
"cancel_deadline_at": null,
"attempt_count": 0,
"failure_attempt_count": 0,
"updated_at": "2026-10-14T09:12:06.324Z",
"created_at": "2026-10-14T09:12:03.540Z",
"deleted_at": null
}
]$ ignitify run:list --stauts FAILEDError: unknown flag --stauts for run:list. Did you mean --status?
| Flag | Value | Default | Description |
|---|---|---|---|
--status | S | — | Only runs in this status, for example FAILED. |
--deployment-id | D | — | Only runs of this deployment. |
--task-name | N | — | Only runs of this task. |
--preset | P | — | Only runs on this instance class. |
--correlation-id | C | — | Only runs with this correlation id. |
--vm-id | V | — | Only runs that used this VM. |
--limit | N | — | Rows on the page. The server sets the default and the largest value. |
--after | <iso> | — | Only rows after this ISO 8601 time. |
--after-id | <id> | — | Page cursor. Pass the id of the last row of the page before. |
run:get
Show one run: status, timing and the result of the task.
- needs API key
- --json: full
$ ignitify run:get <run-id> [--full]$ ignitify run:get run_H8kQ2mNxT4pLRun Detailsid 019f3c27-9d63-7e48-a5b0-2f17c8d4e936resource_id run_H8kQ2mNxT4pLcorrelation_id 019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35deployment_id 019f3c24-1b05-7c9a-8e21-4d6f0b93a7e2tenant_id 019f2b10-3c55-7a01-b2e4-9d0c61f7a8b3vm_id vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6status COMPLETEDtask_name image-resizepreset std.microtimeout_sec 120boot_fingerprint 3f9c1a2be7d41056started_at 2026-10-14T09:12:04.118Zattempt_count 0failure_attempt_count 0updated_at 2026-10-14T09:12:06.324Zcreated_at 2026-10-14T09:12:03.540ZResult: { "task": "image-resize", "success": true }
More examples (1)
$ ignitify run:get run_H8kQ2mNxT4pLRun Detailsid 019f3c27-9d63-7e48-a5b0-2f17c8d4e936resource_id run_H8kQ2mNxT4pLcorrelation_id 019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35deployment_id 019f3c24-1b05-7c9a-8e21-4d6f0b93a7e2tenant_id 019f2b10-3c55-7a01-b2e4-9d0c61f7a8b3vm_id vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6status FAILEDtask_name image-resizepreset std.microtimeout_sec 120boot_fingerprint 3f9c1a2be7d41056started_at 2026-10-14T09:12:04.118Zattempt_count 0failure_attempt_count 0updated_at 2026-10-14T09:12:06.324Zcreated_at 2026-10-14T09:12:03.540ZResult: { "error": "bad input: could not decode the image" }
$ ignitify run:get run_H8kQ2mNxT4pL --json{
"id": "019f3c27-9d63-7e48-a5b0-2f17c8d4e936",
"resource_id": "run_H8kQ2mNxT4pL",
"correlation_id": "019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35",
"deployment_id": "019f3c24-1b05-7c9a-8e21-4d6f0b93a7e2",
"tenant_id": "019f2b10-3c55-7a01-b2e4-9d0c61f7a8b3",
"vm_id": "vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6",
"status": "COMPLETED",
"task_name": "image-resize",
"preset": "std.micro",
"timeout_sec": 120,
"deadline_sec": null,
"payload": {
"payload": {
"url": "https://example.com/cat.png",
"width": 320
},
"task_name": "image-resize",
"max_result_bytes": 10240
},
"result": {
"task": "image-resize",
"success": true
},
"execution": null,
"instructions": {
"reuseChild": false,
"heartbeatMs": 5000,
"streamChunks": false,
"sendHeartbeat": false
},
"boot_fingerprint": "3f9c1a2be7d41056",
"progress": null,
"started_at": "2026-10-14T09:12:04.118Z",
"cancel_deadline_at": null,
"attempt_count": 0,
"failure_attempt_count": 0,
"updated_at": "2026-10-14T09:12:06.324Z",
"created_at": "2026-10-14T09:12:03.540Z",
"deleted_at": null
}| Flag | Value | Default | Description |
|---|---|---|---|
<run-id>required | — | — | The run id, from task:run or run:list. |
--full | — | — | Print the whole run as JSON, with every field the API returns. |
run:logs
Print the console output of a run, exactly as the task wrote it.
- needs API key
- --json: none
$ ignitify run:logs <run-id>$ ignitify run:logs run_H8kQ2mNxT4pL{"v":1,"id":"019f3c40-5a21-7c33-9d0e-1b2c3d4e5f0a","kind":"metric","occurred_at":"2026-10-14T09:12:03.540Z","published_at":"2026-10-14T09:12:03.540Z","seq":0,"src":{"system":"ignitify-guest-supervisor","trust":"guest"},"ctx":{"correlation_id":"019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35","vm_id":"vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6","run_id":"019f3c27-9d63-7e48-a5b0-2f17c8d4e936","deployment_id":null,"tenant_id":null,"task_slug":"image-resize","host_id":null},"payload":{"kind":"metric","name":"guest_jobs_pulled_total","value":1,"metric_type":"counter"}}{"v":1,"id":"019f3c42-5a21-7c33-9d0e-1b2c3d4e5f0c","kind":"metric","occurred_at":"2026-10-14T09:12:04.118Z","published_at":"2026-10-14T09:12:04.118Z","seq":1,"src":{"system":"ignitify-guest-supervisor","trust":"guest"},"ctx":{"correlation_id":"019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35","vm_id":"vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6","run_id":"019f3c27-9d63-7e48-a5b0-2f17c8d4e936","deployment_id":null,"tenant_id":null,"task_slug":"image-resize","host_id":null},"payload":{"kind":"metric","name":"guest_job_payload_bytes","value":1,"metric_type":"gauge"}}{"v":1,"id":"019f3c43-5a21-7c33-9d0e-1b2c3d4e5f0d","kind":"log","occurred_at":"2026-10-14T09:12:06.324Z","published_at":"2026-10-14T09:12:06.324Z","seq":2,"src":{"system":"ignitify-guest-supervisor","trust":"guest"},"ctx":{"correlation_id":"019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35","vm_id":"vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6","run_id":"019f3c27-9d63-7e48-a5b0-2f17c8d4e936","deployment_id":null,"tenant_id":null,"task_slug":"image-resize","host_id":null},"payload":{"kind":"log","level":"info","message":"[worker] task-output begin","attrs":{"component":"supervisor"}}}[task] INFO: Task image-resize initialised[task] INFO: Running task image-resize with payload: {"url":"https://example.com/cat.png","width":320}{"v":1,"id":"019f3c44-5a21-7c33-9d0e-1b2c3d4e5f0e","kind":"log","occurred_at":"2026-10-14T09:12:06.902Z","published_at":"2026-10-14T09:12:06.902Z","seq":3,"src":{"system":"ignitify-guest-supervisor","trust":"guest"},"ctx":{"correlation_id":"019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35","vm_id":"vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6","run_id":"019f3c27-9d63-7e48-a5b0-2f17c8d4e936","deployment_id":null,"tenant_id":null,"task_slug":"image-resize","host_id":null},"payload":{"kind":"log","level":"info","message":"[worker] task-output end","attrs":{"component":"supervisor"}}}{"v":1,"id":"019f3c45-5a21-7c33-9d0e-1b2c3d4e5f0f","kind":"log","occurred_at":"2026-10-14T09:12:08.540Z","published_at":"2026-10-14T09:12:08.540Z","seq":4,"src":{"system":"ignitify-guest-supervisor","trust":"guest"},"ctx":{"correlation_id":"019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35","vm_id":"vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6","run_id":"019f3c27-9d63-7e48-a5b0-2f17c8d4e936","deployment_id":null,"tenant_id":null,"task_slug":"image-resize","host_id":null},"payload":{"kind":"log","level":"info","message":"[worker] task timing: process_age_ms=1 wait_ms=1 work_ms=1","attrs":{"component":"supervisor"}}}{"v":1,"id":"019f3c46-5a21-7c33-9d0e-1b2c3d4e5f10","kind":"metric","occurred_at":"2026-10-14T09:12:10.540Z","published_at":"2026-10-14T09:12:10.540Z","seq":5,"src":{"system":"ignitify-guest-supervisor","trust":"guest"},"ctx":{"correlation_id":"019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35","vm_id":"vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6","run_id":"019f3c27-9d63-7e48-a5b0-2f17c8d4e936","deployment_id":null,"tenant_id":null,"task_slug":"image-resize","host_id":null},"payload":{"kind":"metric","name":"guest_job_duration_seconds","value":1,"metric_type":"histogram"}}{"v":1,"id":"019f3c47-5a21-7c33-9d0e-1b2c3d4e5f11","kind":"metric","occurred_at":"2026-10-14T09:12:12.540Z","published_at":"2026-10-14T09:12:12.540Z","seq":6,"src":{"system":"ignitify-guest-supervisor","trust":"guest"},"ctx":{"correlation_id":"019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35","vm_id":"vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6","run_id":"019f3c27-9d63-7e48-a5b0-2f17c8d4e936","deployment_id":null,"tenant_id":null,"task_slug":"image-resize","host_id":null},"payload":{"kind":"metric","name":"guest_task_rss_peak_bytes","value":1,"metric_type":"gauge","attrs":{"process_units":1,"sample":"settle","task_memory_mib":74,"vm_memory_mib":98}}}{"v":1,"id":"019f3c48-5a21-7c33-9d0e-1b2c3d4e5f12","kind":"metric","occurred_at":"2026-10-14T09:12:14.540Z","published_at":"2026-10-14T09:12:14.540Z","seq":7,"src":{"system":"ignitify-guest-supervisor","trust":"guest"},"ctx":{"correlation_id":"019f3c26-b3a1-7f52-8e07-4d2c9a6b1e35","vm_id":"vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6","run_id":"019f3c27-9d63-7e48-a5b0-2f17c8d4e936","deployment_id":null,"tenant_id":null,"task_slug":"image-resize","host_id":null},"payload":{"kind":"metric","name":"guest_task_memory_limit_hits","value":1,"metric_type":"counter","attrs":{"oom":0,"oom_kill":0,"process_units":1,"task_memory_mib":74,"vm_memory_mib":98}}}
$ ignitify run:logs run_H8kQ2mNxT4pL > run.log⚠ truncated — 2000 line(s) shown; the tail was cut at the size cap.
| Flag | Value | Default | Description |
|---|---|---|---|
<run-id>required | — | — | The run id. |
run:cancel
Stop a live run, gracefully by default.
- needs API key
- asks to confirm
- --json: full
$ ignitify run:cancel <run-id> [--yes] [--force] [--grace <ms>]$ ignitify run:cancel run_H8kQ2mNxT4pLWill ask run run_H8kQ2mNxT4pL to stop gracefully; it is killed if it does not finish in time.Proceed? [y/N] y✓ Run cancelled: run_H8kQ2mNxT4pL (was RUNNING)
More examples (2)
$ ignitify run:cancel run_H8kQ2mNxT4pL --forceWill cancel run run_H8kQ2mNxT4pL immediately (force: destroys the VM even if it is pinned).Proceed? [y/N] y✓ Run cancelled: run_H8kQ2mNxT4pL (was RUNNING)
$ ignitify run:cancel run_H8kQ2mNxT4pLRun run_H8kQ2mNxT4pL is already COMPLETED — nothing to cancel.
$ ignitify run:cancel run_H8kQ2mNxT4pL --yes --json{
"run_id": "run_H8kQ2mNxT4pL",
"outcome": "cancelled",
"cancelled": {
"run_id": "run_H8kQ2mNxT4pL",
"prior_state": "RUNNING",
"status": "CANCELLED",
"vm_id": "vm_019f3c2a-7d41-7b3e-9a10-4c5e8f21d0a6"
}
}$ ignitify run:cancel run_H8kQ2mNxT4pL --grace 1.5Error: --grace must be a whole number of milliseconds, 0 or more (got "1.5")
More examples (1)
$ ignitify run:cancel run_H8kQ2mNxT4pL --force --grace 5000Error: --grace has no effect with --force (force stops the run now)
| Flag | Value | Default | Description |
|---|---|---|---|
<run-id>required | — | — | The run id. |
--yes, -y | — | — | Skip the question. |
--force | — | — | Kill the run now. It is also needed when the run is on a pinned VM. |
--grace | <ms> | — | Ask for a longer wind-down, in whole milliseconds. The server limits it. |
What happens
- Reads the run, because a finished run needs no cancel.
- Asks you to confirm, unless you pass
--yes. - Asks the run to stop, or kills it at once with
--force. - Prints what the server did.
run:delete
Delete the record of a run, without stopping its VM.
- needs API key
- asks to confirm
- deletes data
- --json: full
$ ignitify run:delete <run-id> [--yes]$ ignitify run:delete run_H8kQ2mNxT4pLWill soft-delete run run_H8kQ2mNxT4pL.Proceed? [y/N] y✓ run deleted: run_H8kQ2mNxT4pL
$ ignitify run:delete run_H8kQ2mNxT4pLWill soft-delete run run_H8kQ2mNxT4pL.Error: Refusing to proceed: not a TTY. Re-run with --yes to confirm non-interactively.Aborted.
| Flag | Value | Default | Description |
|---|---|---|---|
<run-id>required | — | — | The run id. |
--yes, -y | — | — | Skip the question. |
What happens
- Prints which run it will delete.
- Asks you to confirm, unless you pass
--yes. - Soft-deletes the run record.
- Prints the run id.