Skip to Content
We are live but in Staging 🎉

dodil ignite app

App definition lifecycle. Six subcommands — create, get, list, delete, update, state. This group manages an app’s metadata (resources, scaling, env, schemas, MCP flag); the code itself lives in draft + version. (function and fn are accepted as aliases for app.)

app maps to ComputeService → Apps. All <id> arguments are org:app (org falls back to config).

SubcommandAPI
dodil ignite app createCreateApp
dodil ignite app getGetApp
dodil ignite app listListApps
dodil ignite app updateUpdateAppConfig
dodil ignite app deleteDeleteApp
dodil ignite app stateGetAppState

dodil ignite app create

dodil ignite app create <name> [flags]

Creates the app definition — metadata only, no code. Upload code afterwards with dodil ignite draft save. The runtime is now derived from the draft code source you save later; the --runtime / --rust-target / --toolchain flags below are accepted but only stash metadata (the CLI prints a warning if you set them on create).

dodil ignite app create myapp --runtime python dodil ignite app create myapp --runtime rust --rust-target native --tier medium dodil ignite app create org:proc --runtime rust --rust-target wasm --description "Data processor"

Runtime flags

FlagDefaultDescription
--runtimepythonpython or rust
--rust-targetnative or wasm — required when --runtime rust
--toolchainRust toolchain version (e.g. 1.82)

Resource flags

FlagShortDefaultDescription
--tier-tResource tier: small, medium, large, xlarge
--memory0Memory limit in MB (overrides tier)
--cpu0CPU limit in millicores (overrides tier)
--timeout-secs0Execution timeout in seconds

Storage flags

FlagDefaultDescription
--storage-modepersistentpersistent, ephemeral, or ttl
--ttl0TTL in seconds (for ttl storage mode)

Scaling flags

FlagDefaultDescription
--max-replicas0Maximum replicas
--reserved0Reserved capacity (warm instances)
--auto-modeAutonomous scaling: disabled, enabled, tier-only, scale-only
--auto-min-instances0Minimum warm instances (0 = scale to zero)
--auto-max-instances0Maximum instances (0 = platform default)
--auto-target-concurrency0Target concurrency per instance for the HPA
--auto-predictivefalseEnable predictive warming from invocation patterns

Metadata flags

FlagShortDefaultDescription
--descriptionHuman-readable description (also used as the MCP tool description)
--input-schemaJSON Schema string for input parameters
--output-schemaJSON Schema string for output
--mcp-enabledfalseExport as an MCP tool
--env-eEnvironment variable KEY=VALUE (repeatable)

Output (json) is the new app_id, its deployment_state, and the applied_tier the server resolved.

dodil ignite app get

dodil ignite app get <id>

Returns the full app definition — runtime, state, tier, storage mode, version/active-version, env, limits, scaling, autonomous config, schemas, MCP flag, timestamps. Alias show.

dodil ignite app get org:myapp -o json | jq '{state: .deployment_state, tier: .resource_tier, version: .active_version}'

dodil ignite app list

dodil ignite app list [--limit N] [--cursor C]

Lists all apps in the org. Alias ls. Default --limit/-l is 100; --cursor paginates (the table footer prints the next cursor when there is one).

dodil ignite app list dodil ignite app list -l 50 -o json | jq '.apps[] | {name, deployment_state}' dodil ignite app list -o wide # adds an MCP column

Table rows print ids as org/name. Pass them back to other commands as org:name.

dodil ignite app update

dodil ignite app update <id> [flags]

Updates configuration. Accepts the same --tier, --memory, --cpu, --timeout-secs, --description, --input-schema, --output-schema, --max-replicas, --reserved, --env/-e, and --auto-* flags as create. Note: --mcp-enabled here takes an explicit value (--mcp-enabled true|false), and --auto-predictive likewise (true|false).

dodil ignite app update org:myapp --tier large dodil ignite app update org:myapp -e KEY=VALUE --mcp-enabled true dodil ignite app update org:myapp --description "New description"

Two behaviors to remember:

  • Only changed flags are sent. The CLI inspects which flags you actually passed and includes only those in the update — fields you omit are left untouched server-side.
  • --env replaces the whole map. Passing any --env/-e sends the complete env map you supply; existing variables you don’t repeat are dropped. To add one key, re-pass all of them.

Returns the updated app definition.

dodil ignite app state

dodil ignite app state <id>

Returns live deployment state, distinct from the static definition get returns: deployment_state, current_replicas, needs_activation, estimated_latency_ms, and last_invoked_at / archived_at when set.

dodil ignite app state org:myapp -o json | jq '{state: .deployment_state, replicas: .current_replicas}'

dodil ignite app delete

dodil ignite app delete <id> [--yes]

Deletes the app. Alias rm. Prompts for confirmation unless you pass --yes/-y.

dodil ignite app delete org:myapp --yes

See also