fission / fission-workflows

Workflows for Fission: Fast, reliable and lightweight function composition for serverless functions
Apache License 2.0
371 stars 42 forks source link

Introduce native runtime and selectors #16

Closed erwinvaneyk closed 7 years ago

erwinvaneyk commented 7 years ago

The native runtime allows functions to be defined and run inside workflow engine itself. This will allow small functions (such as control flow constructs or other trivial functions) to be run without adding the usual network overhead. Currently, functions will be resolved with any of the runtimes, but a user can constrain a function to a specific runtime using the <runtime>:<function> syntax. For example, to constrain a function to be resolved to the internal runtime, the function should be defined as internal:noop.

This PR also introduces selectors, which is a common feature in workflow engines. The user is able to select specific data using a JSONPath-like syntax. For example to require an invocation input variable, $.invocation.inputs.default.

Additional changes: