From ad6f637c3e1bb0f2f38b31d53b08015e52a58e87 Mon Sep 17 00:00:00 2001 From: Walter Medvedeo Date: Thu, 14 Nov 2024 16:32:12 +0100 Subject: [PATCH 1/5] kie-kogito-docs-684: Create a guide for the SonataFlow Operator driven Worfklows Knative Eventing system configuration --- serverlessworkflow/modules/ROOT/nav.adoc | 5 +- ...eventing-system-configuration-example.adoc | 24 ++ .../configuring-workflow-eventing-system.adoc | 315 ++++++++++++++++++ .../cloud/operator/supporting-services.adoc | 40 +-- 4 files changed, 352 insertions(+), 32 deletions(-) create mode 100644 serverlessworkflow/modules/ROOT/pages/cloud/operator/common/platform-scoped-eventing-system-configuration-example.adoc create mode 100644 serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc diff --git a/serverlessworkflow/modules/ROOT/nav.adoc b/serverlessworkflow/modules/ROOT/nav.adoc index 3fcd0031b..68e118c32 100644 --- a/serverlessworkflow/modules/ROOT/nav.adoc +++ b/serverlessworkflow/modules/ROOT/nav.adoc @@ -81,8 +81,9 @@ *** xref:cloud/operator/building-custom-images.adoc[Building Custom Images] *** xref:cloud/operator/customize-podspec.adoc[Custom Workflow PodSpec] *** xref:cloud/operator/service-discovery.adoc[Service Discovery] -*** xref:cloud/operator/using-persistence.adoc[Using Persistence] -*** xref:cloud/operator/configuring-knative-eventing-resources.adoc[Knative Eventing] +*** xref:cloud/operator/using-persistence.adoc[Workflow Persistence] +*** xref:cloud/operator/configuring-workflow-eventing-system.adoc[Workflow Eventing System] +// *** xref:cloud/operator/configuring-knative-eventing-resources.adoc[Knative Eventing] *** xref:cloud/operator/known-issues.adoc[Roadmap and Known Issues] *** xref:cloud/operator/add-custom-ca-to-a-workflow-pod.adoc[Add Custom CA to Workflow Pod] * Integrations diff --git a/serverlessworkflow/modules/ROOT/pages/cloud/operator/common/platform-scoped-eventing-system-configuration-example.adoc b/serverlessworkflow/modules/ROOT/pages/cloud/operator/common/platform-scoped-eventing-system-configuration-example.adoc new file mode 100644 index 000000000..5d76c10b2 --- /dev/null +++ b/serverlessworkflow/modules/ROOT/pages/cloud/operator/common/platform-scoped-eventing-system-configuration-example.adoc @@ -0,0 +1,24 @@ +[source,yam] +---- +apiVersion: sonataflow.org/v1alpha08 +kind: SonataFlowPlatform +metadata: + name: sonataflow-platform-example + namespace: example-namespace +spec: + eventing: + broker: + ref: + name: example-broker <1> + namespace: example-broker-namespace <2> + apiVersion: eventing.knative.dev/v1 + kind: Broker +---- + +<1> Name of the Knative Eventing Broker. +<2> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlowPlatform namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlowPlatform. + +[NOTE] +==== +In production environments, you must use a production-ready broker, like the link:{knative_eventing_kafka_broker_url}[Knative Kafka Broker]. +==== diff --git a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc new file mode 100644 index 000000000..8757fc505 --- /dev/null +++ b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc @@ -0,0 +1,315 @@ += Configuring the Workflow Eventing system +:compat-mode!: +// Metadata: +:description: Workflows eventing system configuration +:keywords: kogito, sonataflow, workflow, serverless, operator, kubernetes, knative, knative-eventing, events + +This document describes how to configure the eventing system for a {product_name} workflow. + +In general, the following events are produced in a {product_name} installation: + +* Workflow outgoing and incoming business events. + +* SonataFlow system events sent from the workflow to the Data Index and Job Service respectively. + +* SonataFlow system events sent from the Jobs Service to the Data Index Service. + +The SonataFlow Operator is designed to use the link:{knative_eventing_url}[Knative Eventing] system to resolve all the event communication between these services. + +[NOTE] +==== +In a regular SonataFlow installation, the preferred method is to use the <>, while the <> is reserved only for advanced use cases. +==== + +[#platform-scoped-eventing-system-configuration] +== Platform-scoped Eventing system configuration + +To configure a platform-scoped eventing system, you must use the field `spec.eventing.broker.ref` in the `SonataFlowPlatform` CR to refer to a Knative Eventing Broker. + +This information signals the {operator_name} to automatically link every workflow deployed in that namespace, to `produce` and `consume` the events by using that Broker. + +Additionally, the supporting services deployed in that namespace, that don't provide a custom eventing system configuration, will be linked to that Broker. +For more information about configuring the supporting services eventing system, xref:cloud/operator/supporting-services.adoc#configuring-supporting-services-eventing-system[see]. + +The following `SonataFlowPlatform` CR fragment shows an example of such configuration: + +.Platform scoped eventing system configuration example + +include::common/platform-scoped-eventing-system-configuration-example.adoc[] + +[#workflow-scoped-eventing-system-configuration] +== Workflow-scoped Eventing system configuration + +A workflow-scoped eventing system configuration provides the ability to do a fine-grained configuration of the eventing system for the events `produced` and `consumed` by a workflow. + +To configure a workflow-scoped eventing system you must use the fields `spec.sink.ref` and `spec.sources[]` in the `SonataFlow` CR. + +[#outgoing-eventing-system-configuration] +=== Outgoing Eventing system configuration + +To configure a workflow-scoped eventing system for the workflow outgoing events, you must use the field `spec.sink.ref` in the `SonataFlow` CR. + +This information signals the SonataFlow Operator to automatically link the current workflow, to produce the events by using that Broker. +That includes, the {product_name} system events, and the workflow business events. + +The following `SonataFlow` CR fragment shows an example of such configuration: + +.Workflow-scoped outgoing eventing system configuration example +[source, yaml] +---- +apiVersion: sonataflow.org/v1alpha08 +kind: SonataFlow +metadata: + name: example-workflow + namespace: example-workflow-namespace + annotations: + sonataflow.org/description: Example Workflow + sonataflow.org/version: 0.0.1 + sonataflow.org/profile: preview +spec: + sink: + ref: + name: outgoing-example-broker <1> + namespace: outgoing-example-broker-namespace <2> + apiVersion: eventing.knative.dev/v1 + kind: Broker + flow: <3> + start: ExampleStartState + events: <4> + - name: outEvent1 <5> + source: '' + kind: produced + type: out-event-type1 <6> + + ... <7> +---- + +<1> Name of the Knative Eventing Broker to use for all the events produced by the workflow, including the {product_name} system events. +<2> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. +<3> Flow definition field in the `SonataFlow` CR. +<4> Events definition field in the `SonataFlow` CR. +<5> Example of an outgoing event `outEvent1` definition. +<6> Event type for the outgoing event `outEvent1` +<7> Only a fragment of the workflow is shown for simplicity. + +[#incoming-eventing-system-configuration] +=== Incoming Eventing system configuration + +To configure a workflow-scoped eventing system for the workflow incoming events, you must use the field `spec.sources[]` in the `SonataFlow` CR. +And, you must add an entry in the array, for every event type that requires an individual configuration. + +This information signals the SonataFlow Operator to automatically link the current workflow, to potentially `consume` the events from different Brokers, depending on the event type. + +Incoming event types not configured with a particular Broker, are consumed by applying <>. + +The following `SonataFlow` CR fragment shows an example of such configuration: + +.Workflow-scoped incoming eventing system configuration example + +[source, yaml] +---- +apiVersion: sonataflow.org/v1alpha08 +kind: SonataFlow +metadata: + name: example-workflow + namespace: example-workflow-namespace + annotations: + sonataflow.org/description: Example Workflow + sonataflow.org/version: 0.0.1 + sonataflow.org/profile: preview +spec: + sources: + - eventType: in-event-type1 <1> + ref: + name: incoming-example-broker1 <2> + namespace: incoming-example-broker1-namespace <3> + apiVersion: eventing.knative.dev/v1 + kind: Broker + - eventType: in-event-type2 <4> + ref: + name: incoming-example-broker2 <5> + namespace: incoming-example-broker2-namespace <6> + apiVersion: eventing.knative.dev/v1 + kind: Broker + flow: <7> + start: ExampleStartState + events: <8> + - name: inEvent1 <9> + source: '' + kind: consumed + type: in-event-type1 <10> + - name: inEvent2 <11> + source: '' + kind: consumed + type: in-event-type2 <12> + ... <13> + +---- + +<1> Eventing system configuration entry for the workflow incoming events of type `in-event-type1`. +<2> Name of the Knative Eventing Broker to use for the consumption of the events of type `in-event-type1` sent to this workflow. +<3> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. + +<4> Eventing system configuration entry for the workflow incoming events of type `in-event-type2`. +<5> Name of the Knative Eventing Broker to use for the consumption of the events of type `in-event-type2` sent to this workflow. +<6> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. + +<7> Flow definition field in the `SonataFlow` CR. +<8> Events definition field in the `SonataFlow` CR. + +<9> Example of an incoming event `inEvent1` definition. +<10> Event type for the incoming event `inEvent1`. +The link of the workflow event, with the corresponding `spec.sources[]` entry, is by using the event type name `in-event-type1`. + +<11> Example of an incoming event `inEvent2` definition. +<12> Event type for the incoming event `inEvent2`. +The link of the workflow event, with the corresponding `spec.sources[]` entry, is by using the event type name `in-event-type2`. + +<13> Only a fragment of the workflow is shown for simplicity. + +[NOTE] +==== +* Remember that the link between an `spec.sources[]` entry and the workflow event, is by using the event type. +* Incoming events without a corresponding `spec.sources[]` entry are consumed by applying the <>. +==== + +[#cluster-scoped-eventing-system-configuration] +== Cluster-scoped Eventing system configuration + +When you use a SonataFlowClusterPlatform, the workflows are automatically linked to the `Broker` configured in the `SonataFlowPlatform` CR referred to by the given `SonataFlowClusterPlatform` CR, according to the <>. + +[#eventing-system-configuration-precedence-rules] +== Eventing system configuration precedence rules + +To configure the eventing system for a workflow, the {operator_name} use the following precedence rules: + +. If the workflow has a configured eventing system, by using any of the <> or <<#incoming-eventing-system-configuration, workflow-scoped incoming eventing system>> configurations, that configuration applies. + +. If the `SonataFlowPlatform` CR enclosing the workflow, is configured with a <>, that configuration applies. + +. If the current cluster, is configured with a <>, that configuration apply. + +. If none of the previous configurations exists, the workflow is configured to: +** Produce direct HTTP calls to deliver the {product_name} system events to the supporting services. +** Consume the workflow incoming events in the workflow service root path `/` via HTTP POST calls. +** No eventing system is configured to produce the workflow business events, and thus, an attempt to produce such event will fail. + +== Eventing System linking objects + +The linking of the workflow with the eventing system is produced by using Knative Eventing SinkBindings and Triggers. +These objects are automatically created by the {operator_name}, and facilitate workflow events production and consumption. + +The following example shows the Knative Native eventing objects created for an `example-workflow` that was configured with a platform-scoped eventing system. + +.Platform-scoped eventing system configuration example +[source,yaml] +---- +apiVersion: sonataflow.org/v1alpha08 +kind: SonataFlowPlatform +metadata: + name: sonataflow-platform-example + namespace: example-namespace +spec: + eventing: + broker: + ref: + name: example-broker <1> + apiVersion: eventing.knative.dev/v1 + kind: Broker + services: + dataIndex: <2> + enabled: true + jobService: <3> + enabled: true +---- + +<1> Platform Broker configuration used by the Data Index, Jobs Service, and the `example-workflow`. +<2> Data Index ephemeral deployment. +<3> Jobs Service ephemeral deployment. + +.Knative Kafka Broker example used by the SonataFlowPlatform +[source,yaml] +---- +apiVersion: eventing.knative.dev/v1 +kind: Broker +metadata: + annotations: + eventing.knative.dev/broker.class: Kafka <1> + name: example-broker + namespace: example-namespace +spec: + config: + apiVersion: v1 + kind: ConfigMap + name: kafka-broker-config + namespace: knative-eventing +---- + +<1> Use the Kafka class to create a Kafka Knative Broker + +.The `example-workflow` is automatically linked to the `example-broker` in the `example-namespace` +[source, yaml] +---- +apiVersion: sonataflow.org/v1alpha08 +kind: SonataFlow +metadata: + name: example-workflow + namespace: example-namespace + annotations: + sonataflow.org/description: Example Workflow + sonataflow.org/version: 0.0.1 + sonataflow.org/profile: preview +spec: + flow: + start: ExampleStartState + events: + - name: outEvent1 + source: '' + kind: produced + type: out-event-type1 <1> + - name: inEvent1 + source: '' + kind: consumed + type: in-event-type1 <2> + - name: inEvent2 + source: '' + kind: consumed + type: in-event-type2 <3> + states: + - name: ExampleStartState + ... <4> + +---- + +<1> The `example-workflow` outgoing events are produced by using the SinkBinding `example-workflow-sb`, <<#workflow-knative-eventing-sinkbindings, see>>. +<2> The `example-workflow` events of type `in-event-type1` are consumed by using the Trigger `example-workflow-inevent1-b40c067c-595b-4913-81a4-c8efa980bc11`, <<#workflow-knative-eventing-triggers, see>>. +<3> The `example-workflow` events of type `in-event-type2` are consumed by using the Trigger `example-workflow-inevent2-b40c067c-595b-4913-81a4-c8efa980bc11`, <<#workflow-knative-eventing-triggers, see>>. +<4> Only a fragment of the workflow is shown for simplicity. + +[#workflow-knative-eventing-sinkbindings] +.Knative Eventing SinkBinding created for the `example-workflow` events production +[source,bash] +---- +kn source list -n example-namespace + +NAME TYPE RESOURCE SINK READY +example-workflow-sb SinkBinding sinkbindings.sources.knative.dev broker:example-broker True +---- + +[#workflow-knative-eventing-triggers] +.Knative Eventing Triggers created for the `example-workflow` events consumption +[source,bash] +---- +kn trigger list -n example-namespace + +NAME BROKER SINK AGE CONDITIONS READY REASON +example-workflow-inevent1-b40c067c-595b-4913-81a4-c8efa980bc11 example-broker service:example-workflow 16m 7 OK / 7 True +example-workflow-inevent2-b40c067c-595b-4913-81a4-c8efa980bc11 example-broker service:example-workflow 16m 7 OK / 7 True +---- + +== Additional resources + +* xref:cloud/operator/using-persistence.adoc[Workflow Persistence] +* xref:cloud/operator/supporting-services.adoc[Deploying Supporting Services] + +include::../../../pages/_common-content/report-issue.adoc[] \ No newline at end of file diff --git a/serverlessworkflow/modules/ROOT/pages/cloud/operator/supporting-services.adoc b/serverlessworkflow/modules/ROOT/pages/cloud/operator/supporting-services.adoc index 747bc3e92..550ec49bf 100644 --- a/serverlessworkflow/modules/ROOT/pages/cloud/operator/supporting-services.adoc +++ b/serverlessworkflow/modules/ROOT/pages/cloud/operator/supporting-services.adoc @@ -180,6 +180,7 @@ When you use the common PostgreSQL configuration, the database schema for each s For example, `sonataflow-platform-example-data-index-service`. ==== +[#configuring-supporting-services-eventing-system] == Configuring the supporting services Eventing system In general, the following events are produced in a {product_name} installation: @@ -203,36 +204,13 @@ To configure a platform-scoped eventing system, you must use the field `spec.eve This information signals the {operator_name} to automatically link the supporting services to `produce` and `consume` the events by using that Broker. Additionally, workflows deployed in that namespace, that don't provide a custom eventing system configuration, will be linked to that Broker. -// TODO, uncomment when the workflows section is in. -// For more information about configuring the workflow eventing system, xref:cloud/operator/configuring-workflow-eventing-system.adoc[see]. +For more information about configuring the workflow eventing system, xref:cloud/operator/configuring-workflow-eventing-system.adoc[see]. The following `SonataFlowPlatform` CR fragment shows an example of such configuration: .Platform scoped eventing system configuration example -[source,yam] ----- -apiVersion: sonataflow.org/v1alpha08 -kind: SonataFlowPlatform -metadata: - name: sonataflow-platform-example - namespace: example-namespace -spec: - eventing: - broker: - ref: - name: example-broker <1> - namespace: example-broker-namespace <2> - apiVersion: eventing.knative.dev/v1 - kind: Broker ----- - -<1> Name of the Knative Eventing Broker. -<2> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlowPlatform namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlowPlatform. +include::common/platform-scoped-eventing-system-configuration-example.adoc[] -[NOTE] -==== -In production environments, you must use a production-ready broker, like the link:{knative_eventing_kafka_broker_url}[Knative Kafka Broker]. -==== [#service-scoped-eventing-system-configuration] === Service-scoped Eventing system configuration @@ -327,13 +305,13 @@ When you use a <> deployment, the supporting services To configure the eventing system for a supporting service, the {operator_name} use the following precedence rules: -* If the supporting service has a configured eventing system, by using any of the <> or <> respectively, that configuration applies. +. If the supporting service has a configured eventing system, by using any of the <> or <> respectively, that configuration applies. -* If the `SonataFlowPlatform` CR enclosing the supporting service, is configured with a <>, that configuration applies. +. If the `SonataFlowPlatform` CR enclosing the supporting service, is configured with a <>, that configuration applies. -* If the current cluster, is configured with a <>, that configuration apply. +. If the current cluster, is configured with a <>, that configuration apply. -* If none of the previous configurations exists, the supporting service is configured to produce direct HTTP calls to deliver events. +. If none of the previous configurations exists, the supporting service is configured to produce direct HTTP calls to deliver events. === Eventing System linking objects @@ -397,6 +375,7 @@ NAME BROKER data-index-jobs-fbf285df-c0a4-4545-b77a-c232ec2890e2 example-broker service:sonataflow-platform-example-data-index-service 106s 7 OK / 7 True data-index-process-definition-e48b4e4bf73e22b90ecf7e093ff6b1eaf example-broker service:sonataflow-platform-example-data-index-service 106s 7 OK / 7 True data-index-process-error-fbf285df-c0a4-4545-b77a-c232ec2890e2 example-broker service:sonataflow-platform-example-data-index-service 106s 7 OK / 7 True +data-index-process-instance-mul35f055c67a626f51bb8d2752606a6b54 example-broker service:sonataflow-platform-example-data-index-service 106s 7 OK / 7 True data-index-process-node-fbf285df-c0a4-4545-b77a-c232ec2890e2 example-broker service:sonataflow-platform-example-data-index-service 106s 7 OK / 7 True data-index-process-sla-fbf285df-c0a4-4545-b77a-c232ec2890e2 example-broker service:sonataflow-platform-example-data-index-service 106s 7 OK / 7 True data-index-process-state-fbf285df-c0a4-4545-b77a-c232ec2890e2 example-broker service:sonataflow-platform-example-data-index-service 106s 7 OK / 7 True @@ -493,7 +472,8 @@ Additionally, it can manage different persistence options for each service, and * xref:data-index/data-index-core-concepts.adoc[] * xref:job-services/core-concepts.adoc[Job Service Core Concepts] -* xref:cloud/operator/using-persistence.adoc[] +* xref:cloud/operator/using-persistence.adoc[Workflow Persistence] +* xref:cloud/operator/configuring-workflow-eventing-system.adoc[Workflow Eventing System] * xref:cloud/operator/known-issues.adoc[] include::../../../pages/_common-content/report-issue.adoc[] From 1eec13571d9569618ba415aea248508cadcc6c97 Mon Sep 17 00:00:00 2001 From: Walter Medvedeo Date: Fri, 15 Nov 2024 09:53:28 +0100 Subject: [PATCH 2/5] Code review suggestions --- .../cloud/operator/configuring-workflow-eventing-system.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc index 8757fc505..30076c140 100644 --- a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc +++ b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc @@ -199,7 +199,7 @@ To configure the eventing system for a workflow, the {operator_name} use the fol The linking of the workflow with the eventing system is produced by using Knative Eventing SinkBindings and Triggers. These objects are automatically created by the {operator_name}, and facilitate workflow events production and consumption. -The following example shows the Knative Native eventing objects created for an `example-workflow` that was configured with a platform-scoped eventing system. +The following example shows the Knative Eventing objects created for an `example-workflow` configured with a platform-scoped eventing system. .Platform-scoped eventing system configuration example [source,yaml] From 76e2866ac039449852d12ea4cc04014fea7048e2 Mon Sep 17 00:00:00 2001 From: Walter Medvedeo Date: Fri, 15 Nov 2024 16:47:09 +0100 Subject: [PATCH 3/5] Apply suggestions from code review Co-authored-by: Kalyani Desai <43639538+kaldesai@users.noreply.github.com> --- ...oped-eventing-system-configuration-example.adoc | 2 +- .../configuring-workflow-eventing-system.adoc | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/serverlessworkflow/modules/ROOT/pages/cloud/operator/common/platform-scoped-eventing-system-configuration-example.adoc b/serverlessworkflow/modules/ROOT/pages/cloud/operator/common/platform-scoped-eventing-system-configuration-example.adoc index 5d76c10b2..c8a3440ba 100644 --- a/serverlessworkflow/modules/ROOT/pages/cloud/operator/common/platform-scoped-eventing-system-configuration-example.adoc +++ b/serverlessworkflow/modules/ROOT/pages/cloud/operator/common/platform-scoped-eventing-system-configuration-example.adoc @@ -16,7 +16,7 @@ spec: ---- <1> Name of the Knative Eventing Broker. -<2> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlowPlatform namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlowPlatform. +<2> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlowPlatform namespace. We recommend creating the Knative Eventing Broker in the same namespace as the SonataFlowPlatform. [NOTE] ==== diff --git a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc index 30076c140..704f3e205 100644 --- a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc +++ b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc @@ -14,7 +14,7 @@ In general, the following events are produced in a {product_name} installation: * SonataFlow system events sent from the Jobs Service to the Data Index Service. -The SonataFlow Operator is designed to use the link:{knative_eventing_url}[Knative Eventing] system to resolve all the event communication between these services. +The {operator_name} is designed to use the link:{knative_eventing_url}[Knative Eventing] system to resolve all the event communication between these services. [NOTE] ==== @@ -24,11 +24,11 @@ In a regular SonataFlow installation, the preferred method is to use the < Name of the Knative Eventing Broker to use for all the events produced by the workflow, including the {product_name} system events. -<2> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. +<2> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. We recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. <3> Flow definition field in the `SonataFlow` CR. <4> Events definition field in the `SonataFlow` CR. <5> Example of an outgoing event `outEvent1` definition. @@ -148,11 +148,11 @@ spec: <1> Eventing system configuration entry for the workflow incoming events of type `in-event-type1`. <2> Name of the Knative Eventing Broker to use for the consumption of the events of type `in-event-type1` sent to this workflow. -<3> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. +<3> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. We recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. <4> Eventing system configuration entry for the workflow incoming events of type `in-event-type2`. <5> Name of the Knative Eventing Broker to use for the consumption of the events of type `in-event-type2` sent to this workflow. -<6> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. In general, we recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. +<6> Optional: Defines the namespace of the Knative Eventing Broker. Defaults to the SonataFlow namespace. We recommend creating the Knative Eventing Broker in the same namespace as the SonataFlow. <7> Flow definition field in the `SonataFlow` CR. <8> Events definition field in the `SonataFlow` CR. @@ -169,7 +169,7 @@ The link of the workflow event, with the corresponding `spec.sources[]` entry, i [NOTE] ==== -* Remember that the link between an `spec.sources[]` entry and the workflow event, is by using the event type. +* Remember that the link between a `spec.sources[]` entry and the workflow event, is by using the event type. * Incoming events without a corresponding `spec.sources[]` entry are consumed by applying the <>. ==== From 32984c31d239aa08b79cefde127d2aa16f108fbe Mon Sep 17 00:00:00 2001 From: Walter Medvedeo Date: Fri, 15 Nov 2024 16:47:47 +0100 Subject: [PATCH 4/5] Update serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc Co-authored-by: Ricardo Zanini <1538000+ricardozanini@users.noreply.github.com> --- .../cloud/operator/configuring-workflow-eventing-system.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc index 704f3e205..fca6fe078 100644 --- a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc +++ b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc @@ -49,7 +49,7 @@ To configure a workflow-scoped eventing system you must use the fields `spec.sin To configure a workflow-scoped eventing system for the workflow outgoing events, you must use the field `spec.sink.ref` in the `SonataFlow` CR. -This information signals the SonataFlow Operator to automatically link the current workflow, to produce the events by using that Broker. +This information signals the {operator_name} to automatically link the current workflow, to produce the events by using that Broker. That includes, the {product_name} system events, and the workflow business events. The following `SonataFlow` CR fragment shows an example of such configuration: From 593e4717183ffc224976c31b1089e20c51378d94 Mon Sep 17 00:00:00 2001 From: Walter Medvedeo Date: Mon, 18 Nov 2024 18:24:24 +0100 Subject: [PATCH 5/5] Code addings --- .../cloud/operator/configuring-workflow-eventing-system.adoc | 2 +- .../modules/ROOT/pages/cloud/operator/supporting-services.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc index fca6fe078..4425e97dc 100644 --- a/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc +++ b/serverlessworkflow/modules/ROOT/pages/cloud/operator/configuring-workflow-eventing-system.adoc @@ -26,7 +26,7 @@ In a regular SonataFlow installation, the preferred method is to use the <