dodil ignite draft + dodil ignite version
The code workflow. An app (created by dodil ignite app create) has one mutable draft slot plus an immutable, numbered history of versions. draft manages the slot; version manages the history.
draft save ─► draft compile (Rust) ─► draft test ─► draft publish ─► version N
│
version rollback ◄┘draft maps to ComputeService → Drafts; version maps to Versions. All <id> arguments are org:app.
| Subcommand | API |
|---|---|
dodil ignite draft save | SaveDraft |
dodil ignite draft info | GetDraftInfo |
dodil ignite draft compile | CompileDraft |
dodil ignite draft test | TestDraft |
dodil ignite draft publish | PublishDraft |
dodil ignite draft compile-logs | StreamCompileLogs |
dodil ignite version list | ListAppVersions |
dodil ignite version get | GetAppVersion |
dodil ignite version rollback | RollbackApp |
dodil ignite version code | GetAppCode |
dodil ignite version test | TestAppVersion |
dodil ignite draft
dodil ignite draft save
dodil ignite draft save <id> -c <file|dir> [-d DEP ...] [--input-schema S] [--output-schema S]Uploads code into the draft slot. --code/-c is required and accepts a single source file, a .zip / .tar.gz archive, or a directory (the CLI tar-gzips it, skipping .git, node_modules, __pycache__, target, .venv).
| Flag | Short | Description |
|---|---|---|
--code | -c | Path to a code file, archive, or directory (required) |
--dependency | -d | A dependency, e.g. a pip package (repeatable) |
--input-schema | JSON Schema string for input | |
--output-schema | JSON Schema string for output |
dodil ignite draft save org:myapp -c ./src
dodil ignite draft save org:myapp -c handler.py -d requests -d numpy
dodil ignite draft save org:myapp -c archive.tar.gzdodil ignite draft info
dodil ignite draft info <id>Draft status — status, code_hash, plus deploy_id, error, image_ref, and timestamps when present. Alias status. Returns {"status":"no draft"} if nothing is saved yet.
dodil ignite draft compile
dodil ignite draft compile <id> [-f|--follow]Triggers compilation of the current draft — Rust only (interpreted runtimes don’t need it). Returns the draft info plus a deploy_id. With --follow/-f the command streams compile logs to stderr, then polls draft status until it leaves COMPILING.
dodil ignite draft compile org:myapp
dodil ignite draft compile org:myapp --followdodil ignite draft test
dodil ignite draft test <id> [-p '<json>'] [-f <file>]Runs the current draft without publishing it, then polls and prints the resulting execution (it blocks until COMPLETED / FAILED / TIMEOUT).
| Flag | Short | Default | Description |
|---|---|---|---|
--payload | -p | {} | JSON payload |
--payload-file | -f | — | Path to a JSON payload file (overrides -p) |
dodil ignite draft test org:myapp -p '{"key":"value"}'
dodil ignite draft test org:myapp -f input.jsonHeads-up on
-f: underdraft testandversion test,-fis--payload-file. Underdraft compile,-fis--follow.
dodil ignite draft publish
dodil ignite draft publish <id>Promotes the current draft to a new immutable, numbered version and makes it active. Returns the published_version and the updated app.
dodil ignite draft publish org:myapp -o json | jq '.published_version'dodil ignite draft compile-logs
dodil ignite draft compile-logs <id> [--deploy-id <id>]Streams compile logs for a draft compilation. With no --deploy-id it auto-fetches the active one from draft info (and errors if there’s no active compilation). Use this to re-attach to a long Rust build you didn’t start with --follow.
dodil ignite draft compile-logs org:myapp
dodil ignite draft compile-logs org:myapp --deploy-id <deploy-id>dodil ignite version
Bare
dodil ignite version(no subcommand) prints its help and lists the version subcommands — to see an app’s versions usedodil ignite version list <id>.
dodil ignite version list
dodil ignite version list <id>Lists every version — version, status, code_hash, created. Alias ls. -o wide adds CODE URI and ERROR columns.
dodil ignite version list org:myapp -o json | jq '.versions[] | {version, status}'dodil ignite version get
dodil ignite version get <id> <version>Metadata for one version (same shape as app get).
dodil ignite version get org:myapp 3dodil ignite version rollback
dodil ignite version rollback <id> <version>Makes an earlier version active again. Returns the updated app.
dodil ignite version rollback org:myapp 2dodil ignite version code
dodil ignite version code <id> [--version N]Reads back the source files of a version. --version 0 (default) means the current version. Table output prints each file inline (binaries are summarized); -o json returns a files[] array with path, size_bytes, is_binary, and text content.
dodil ignite version code org:myapp
dodil ignite version code org:myapp --version 3 -o json | jq '.files[].path'dodil ignite version test
dodil ignite version test <id> <version> [-p '<json>'] [-f <file>]Tests a specific published version without changing the active one. Same --payload/-p (default {}) and --payload-file/-f flags as draft test. Unlike draft test, this returns the dispatched execution_id immediately rather than polling — follow it with dodil ignite execution.
dodil ignite version test org:myapp 3 -p '{"key":"value"}'See also
- Drafts — API Reference · Versions — API Reference
dodil ignite app— create the app before saving a draftdodil ignite invoke& executions — run a published version and inspect executions- CLI Basics — global flags, output formats, exit codes