diff --git a/docs/user/02-configuration.md b/docs/user/02-configuration.md index 1c6b8848..c2a21468 100644 --- a/docs/user/02-configuration.md +++ b/docs/user/02-configuration.md @@ -21,6 +21,26 @@ Use the following sample CRs as guidance. Each can be applied immediately when y - [Default CR - NATS backend](https://github.com/kyma-project/eventing-manager/blob/main/config/samples/default.yaml) - [Default CR - EventMesh backend](https://github.com/kyma-project/eventing-manager/blob/main/config/samples/default_eventmesh.yaml) + +## Impact of the Backend to the Eventing CR State and Event Flow +The following table provides more details on the overall state of the Eventing CR: +- The Backend State column describes the state of the NATS backend or EventMesh Secret existence. +- The Backend Config describes whether the Eventing CR that has been specified by a user or is not available. +- The Eventing State describes the overall state of the Eventing CR. + +Warnings indicate that user action is required, that is, the user must install the NATS module or create an EventMesh Secret. + +| Backend Type | Backend Config | Backend State | Eventing State | Impact on Event Flow | +|----------------|----------------|---------------------------------------------------------------------------------------------------------------------------------------------|----------------|------------------------------------------| +| NATS/EventMesh | missing | n/a | Warning | No events will be accepted or dispatched | +| NATS/EventMesh | exists | Processing (mainly happens during initialization and backend switching) | Processing | No events will be accepted or dispatched | +| NATS | exists | Warning (NATS deletion blocked) | Ready | Events will be accepted or dispatched | +| NATS | exists | Error (NATS ist unavailable or cannot be connected) | Warning | No events will be accepted or dispatched | +| NATS | exists | Missing | Warning | No events will be accepted or dispatched | +| EventMesh | exists | Error (secret for EventMesh missing) | Warning | No events will be accepted or dispatched | +| NATS/EventMesh | exists | Error (cases not caused by a user, such as cannot create EPP deployment or cannot start subscription manager although backend is available) | Error | No events will be accepted or dispatched | + + ## Reference @@ -73,25 +93,6 @@ Use the following sample CRs as guidance. Each can be applied immediately when y | **conditions.type** (required) | string | type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) | | **publisherService** | string | | | **specHash** (required) | integer | | -| **state** (required) | string | Can have one of the following values: `Ready`, `Error`, `Processing`, `Warning`. `Ready` state is set when all the resources are deployed successfully and backend is connected. It gets `Warning` state if backend is not specified, NATS module is not installed or EventMesh secret is missing in the cluster. `Error` state is set when there is an error not caused by a user. `Processing` state is set when eventing is initiliazed or backend is being switched. See the next section for more details. | +| **state** (required) | string | Can have one of the following values: `Ready`, `Error`, `Processing`, `Warning`. `Ready` state is set when all the resources are deployed successfully and backend is connected. It gets `Warning` state if backend is not specified, NATS module is not installed or EventMesh secret is missing in the cluster. `Error` state is set when there is an error not caused by a user. `Processing` state is set when eventing is initiliazed or backend is being switched. | - -