Skip to content

feat(core): add subflow() Pebble function#16653

Draft
brian-mulier-p wants to merge 2 commits into
developfrom
fix/subflow-pebble-function-54g
Draft

feat(core): add subflow() Pebble function#16653
brian-mulier-p wants to merge 2 commits into
developfrom
fix/subflow-pebble-function-54g

Conversation

@brian-mulier-p

Copy link
Copy Markdown
Member

Closes kestra-io/kestra-ee#7850

Synchronously runs a subflow and returns its terminal Execution, so
.outputs.<id> reads the subflow's flow-level outputs — mainly to populate
a SELECT/MULTISELECT input's values at execute-form render time.

- new SubflowFunction (ACL-aware resolution, depth-cap guard, SUCCESS/WARNING gate)
- WebhookService.runAndWait(Execution, Flow, Duration) reusing the queue glue
- ExecutionKind.SUBFLOW_FUNCTION (auto-hidden from lists via NORMAL_KIND_CONDITION)
- config kestra.pebble.subflow-function.{completion-timeout=PT1M,max-depth=3}
…uted

When an input's values are rendered dynamically (e.g. via the subflow()
function), surface that work on the execute form instead of a frozen UI:

- per-input loading spinner on dynamic SELECT/MULTISELECT while values compute;
  on the initial fetch (no value yet) the input is also disabled with a
  "computing" placeholder, later recomputations only spin and stay usable
- apply input defaults immediately at init, without waiting for the validate call
- discard stale validate responses so a value the user just picked is never reset
- add SUBFLOW_FUNCTION to the executions Kind filter (+ translations)
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

📄 OpenAPI Spec Changes

Spec generated with EE branch develop. Diff vs client-sdk:

19400a19401
>       - SUBFLOW_FUNCTION

🐋 Docker image

ghcr.io/kestra-io/kestra-pr:16653
docker run --pull=always --rm -it -p 8080:8080 --user=root -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp ghcr.io/kestra-io/kestra-pr:16653 server local

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: To review

Development

Successfully merging this pull request may close these issues.

1 participant