Skip to Content
We are live but in Staging 🎉
ComputeCLI Guidedraft & version

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.

SubcommandAPI
dodil ignite draft saveSaveDraft
dodil ignite draft infoGetDraftInfo
dodil ignite draft compileCompileDraft
dodil ignite draft testTestDraft
dodil ignite draft publishPublishDraft
dodil ignite draft compile-logsStreamCompileLogs
dodil ignite version listListAppVersions
dodil ignite version getGetAppVersion
dodil ignite version rollbackRollbackApp
dodil ignite version codeGetAppCode
dodil ignite version testTestAppVersion

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).

FlagShortDescription
--code-cPath to a code file, archive, or directory (required)
--dependency-dA dependency, e.g. a pip package (repeatable)
--input-schemaJSON Schema string for input
--output-schemaJSON 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.gz

dodil 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 --follow

dodil 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).

FlagShortDefaultDescription
--payload-p{}JSON payload
--payload-file-fPath to a JSON payload file (overrides -p)
dodil ignite draft test org:myapp -p '{"key":"value"}' dodil ignite draft test org:myapp -f input.json

Heads-up on -f: under draft test and version test, -f is --payload-file. Under draft compile, -f is --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 use dodil 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 3

dodil 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 2

dodil 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