Invoke, Execution, Build, and Models
Last validated: 2026-05-20
Invoke
dodil ignite invoke hello --payload '{"name":"world"}'
dodil ignite invoke hello --payload-file ./input.jsoninvoke consumes streaming invoke frames and prints output payload.
Invoke via App-Specific HTTP URL
Ignite gateway also supports direct host-based invocation per app.
Canonical host format (from FunctionId DNS encoding):
- Default app port 80:
<app_name>-<org>.<base_domain> - Non-default app port:
<app_name>-<org>-<port>.<base_domain>
base_domain defaults to ignite.dodil.cloud (from IGNITE__DNS_TLS__BASE_DOMAIN).
Examples:
# App public/warehouse-query on default port 80
curl -sS -X POST \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
"https://warehouse-query-public.ignite.dodil.cloud/" \
-d '{"query":"select 1"}'
# Same app exposed on port 8080
curl -sS -X POST \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
"https://warehouse-query-public-8080.ignite.dodil.cloud/predict?top_k=5" \
-d '{"input":"hello"}'Practical notes:
- URL path and query are forwarded to the app service verbatim.
- Caller org must match app org, except
public/*apps which are invokable by any authenticated org. - Function names containing
.are encoded as-dot-in DNS labels. - Direct URL invocation is HTTP-native and complements (does not replace)
dodil ignite invoke/ ComputeServiceInvoke.
Execution Commands
Top group:
dodil ignite execution(alias:exec)
Subcommands:
get <exec-id>logs <exec-id>stream <exec-id>watch <exec-id>list <app-id>(currently returns unsupported runtime error)
Build Commands
Top group:
dodil ignite build
Subcommands:
create <name>uploadget <build-id>listlogs <build-id>cancel <build-id>secrets set ...
Example:
dodil ignite build upload --folder ./my-app --name my-app
dodil ignite build create my-app --context-id <context_id> --tag latest
dodil ignite build logs <build_id>Model Commands
Top group:
dodil ignite models(alias:model)
Subcommands currently in CLI:
listget <model_name>chat <model_name>embed <model_name>infer <model_name>transcribe <model_name>
Model command caveats
- API supports rerank endpoints, but CLI has no first-class rerank command.
- Current
models chatcommand uses a fixed stub prompt in implementation. - Current
models transcribeimplementation uses placeholder file handling logic.
For production-grade model workflows, prefer direct API calls for full request control.