This document describes the rules for translating most of the Serverless Workflow features to Knative.
Knative Eventing defines three sets of APIs, Channel/Subscription Broker/Trigger and flows. The rules below target Broker/Trigger for simplicity reason.
A Knative Trigger (as of today) can be represented as a 3-tuple with (Event, Filter, Subscriber) that moves from one state to another.
Serverless Workflow is a declarative language with lots of sugar on top of the core features, for instance the reusable function and event definition sections and metadata. Below we are looking only at the core Serverless Workflow features. Translating non-core features to core features might at some point be documented.
Workflow State
General Approach