Skip to Content
We are live but in Staging 🎉
WorkflowsWorkflow: Invoke, Observe, and Debug Executions

Workflow: Invoke, Observe, and Debug Executions

Last validated: 2026-05-20

Goal

Run a published app, observe execution lifecycle, and gather runtime evidence during failures.

Inputs

  • App ID (org:app)
  • Invocation payload
  • gRPC endpoint and token for API fallback paths

CLI Path

APP_ID=my-org:hello # Invoke and capture execution output dodil ignite invoke "$APP_ID" --payload '{"task":"check"}' # Fetch execution details dodil ignite execution get <execution_id> # Watch execution state and streamed output dodil ignite execution watch <execution_id> # Fetch execution logs dodil ignite execution logs <execution_id>

API Fallback for App Runtime Observability

Use direct gRPC calls when you need app-level logs/events/replicas/stats not exposed as first-class CLI commands.

export IGNITE_GRPC=api.dev.dodil.io:443 export TOKEN=<bearer_token> export ORG=my-org export APP=hello # App logs grpcurl -H "authorization: Bearer ${TOKEN}" \ -d '{"organization_name":"'"${ORG}"'","app_name":"'"${APP}"'"}' \ ${IGNITE_GRPC} dodil.ignite.v1.ComputeService/GetAppLogs # App events grpcurl -H "authorization: Bearer ${TOKEN}" \ -d '{"organization_name":"'"${ORG}"'","app_name":"'"${APP}"'"}' \ ${IGNITE_GRPC} dodil.ignite.v1.ComputeService/GetAppEvents # Replicas grpcurl -H "authorization: Bearer ${TOKEN}" \ -d '{"organization_name":"'"${ORG}"'","app_name":"'"${APP}"'"}' \ ${IGNITE_GRPC} dodil.ignite.v1.ComputeService/ListAppReplicas

Failure Triage Pattern

  1. Confirm execution status (execution get/watch).
  2. Retrieve app logs/events via API fallback.
  3. Correlate with gateway/orchestrator health and deployment state.
  4. Re-test with minimal payload to isolate platform vs business-code failures.