Otomasi dan JSON
Kontrak `--json` yang beku, kode keluar, mesin task sekali pakai, dan server MCP.
Setiap perintah menerima --json dan mengeluarkan output yang dapat dibaca mesin ke stdout,
error ke stderr, dan kode keluar yang bermakna. Bentuk-bentuknya beku: setiap
objek membawa apiVersion: 1, field hanya ditambahkan, dan perubahan breaking
menaikkan versi. Mereka dikunci oleh test suite.
Output dicetak rapi dengan kunci terurut dan tanggal ISO-8601.
Bentuk
| Shape | Commands |
|---|---|
VMSummaryJSON | list, info, create |
SnapshotJSON | snapshot list |
OperationJSON | mutating commands — snapshot, reset, clone, archive, rm, … |
LogLineJSON | logs |
AddressJSON | ip |
DiskUsageReportJSON | du |
GuideJSON | guide <guest> |
VMSummaryJSON membawa name, id, guest, state, cpuCount, memoryBytes,
diskBytes, network, path, address, snapshotCount, isTemplate, waitingForDHCP
dan networkStatistics. list --json menyertakan mesin yang diarsipkan dengan
state: "archived".
OperationJSON membawa ok, operation, vm, detail dan
durationMilliseconds — cara Anda mendapat waktu snapshot terukur
tanpa harus percaya kata-kata saja.
Kode keluar
| Code | Meaning |
|---|---|
| 0 | ok |
| 1 | failed |
| 2 | usage |
| 3 | not found |
| 4 | wrong state |
| 5 | unsupported |
Perintah destruktif menolak dengan exit 4 alih-alih meminta konfirmasi. Tidak ada
prompt interaktif, jadi skrip tidak pernah menunggu manusia. Berikan
--force atau --yes jika Anda serius.
Skrip yang andal
Kesalahannya adalah memperlakukan "running" sebagai "ready". wait-ready menunggu sampai
guest benar-benar dapat dijangkau:
set -e
1vm create ci --from ubuntu-golden
1vm start ci --detach
1vm wait-ready ci
1vm exec ci -- ./run-tests.sh
1vm discard-session ci --force
Mesin sekali pakai dalam satu perintah
task run melakukan seluruh loop clone-wait-exec-dispose untuk Anda:
1vm task run -- ./build.sh
Ia mengkloning golden image yang disematkan, menunggu kesiapan, menjalankan perintah dan
membuang mesin. Golden image dikelola dengan template pin,
template list dan golden capture.
MCP
1VMTool berbicara Model Context Protocol, sehingga agen AI dapat memiliki dan mengendalikan mesin secara langsung:
1vm mcp serve # JSON-RPC on stdio
1vm mcp install-snippet claude # config JSON for a host
1vm agent gc # delete stopped agent-created machines
agent gc penting: agen yang membuat mesin tidak boleh membiarkannya tergeletak,
dan ini adalah kata kerja pembersihan.