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).
| Subcommand | API |
|---|---|
dodil ignite app create | CreateApp |
dodil ignite app get | GetApp |
dodil ignite app list | ListApps |
dodil ignite app update | UpdateAppConfig |
dodil ignite app delete | DeleteApp |
dodil ignite app state | GetAppState |
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
| Flag | Default | Description |
|---|---|---|
--runtime | python | python or rust |
--rust-target | — | native or wasm — required when --runtime rust |
--toolchain | — | Rust toolchain version (e.g. 1.82) |
Resource flags
| Flag | Short | Default | Description |
|---|---|---|---|
--tier | -t | — | Resource tier: small, medium, large, xlarge |
--memory | 0 | Memory limit in MB (overrides tier) | |
--cpu | 0 | CPU limit in millicores (overrides tier) | |
--timeout-secs | 0 | Execution timeout in seconds |
Storage flags
| Flag | Default | Description |
|---|---|---|
--storage-mode | persistent | persistent, ephemeral, or ttl |
--ttl | 0 | TTL in seconds (for ttl storage mode) |
Scaling flags
| Flag | Default | Description |
|---|---|---|
--max-replicas | 0 | Maximum replicas |
--reserved | 0 | Reserved capacity (warm instances) |
--auto-mode | — | Autonomous scaling: disabled, enabled, tier-only, scale-only |
--auto-min-instances | 0 | Minimum warm instances (0 = scale to zero) |
--auto-max-instances | 0 | Maximum instances (0 = platform default) |
--auto-target-concurrency | 0 | Target concurrency per instance for the HPA |
--auto-predictive | false | Enable predictive warming from invocation patterns |
Metadata flags
| Flag | Short | Default | Description |
|---|---|---|---|
--description | — | Human-readable description (also used as the MCP tool description) | |
--input-schema | — | JSON Schema string for input parameters | |
--output-schema | — | JSON Schema string for output | |
--mcp-enabled | false | Export as an MCP tool | |
--env | -e | — | Environment 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 columnTable rows print ids as
org/name. Pass them back to other commands asorg: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.
--envreplaces the whole map. Passing any--env/-esends 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 --yesSee also
- Apps — API Reference — the
CreateApp/UpdateAppConfigcontracts behind these flags dodil ignite draft+dodil ignite version— get code onto the app you just created- CLI Basics — auth, config, global flags, output formats, exit codes