Skip to content

Commit 946e2ae

Browse files
pembebiricreydr
andauthored
Add more information about Broker Developer Configuration Options (#5993)
* broker class options page is moved to broker developer config options page * Titles are ok * broker-developer-config-options * Update broker-developer-config-options.md The full example moved to end of the page * changes are committed * Update docs/eventing/brokers/broker-developer-config-options.md Co-authored-by: Christoph Stäbler <cstabler@redhat.com> --------- Co-authored-by: Christoph Stäbler <cstabler@redhat.com>
1 parent 2cb9c81 commit 946e2ae

File tree

2 files changed

+23
-44
lines changed

2 files changed

+23
-44
lines changed

docs/eventing/brokers/broker-developer-config-options.md

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Developer configuration options
22

3+
## Broker configuration
4+
5+
- You can specify any valid `name` for your broker. Using `default` will create a broker named `default`.
6+
- The `namespace` must be an existing namespace in your cluster. Using `default` will create the broker in the `default` namespace.
7+
8+
### Event Delivery Options
9+
- You can use `dead-letter sink` for error handling and auditing of undelivered messages. Specify Kubernetes object reference where undelivered messages will be sent using `ref` and an optional URI to route undelivered messages using `uri`.
10+
- You can set the `Backoff policies` to define the delay strategy between retry attempts. It can be `exponential` or `linear`.
11+
- You can set the `Backoff delay` to specify the initial delay before retrying, using the ISO 8601 duration format.
12+
- You can specify the number of retry attempts before sending the event to the dead-letter sink using the `retry` configuration.
13+
- `spec.delivery` is used to configure event delivery options. Event delivery options specify what happens to an event that fails to be delivered to an event sink. For more information, see the documentation on [Event delivery](../event-delivery.md).
14+
15+
### Advanced broker class options
16+
When a Broker is created without a specified `eventing.knative.dev/broker.class` annotation, by default the `MTChannelBasedBroker` Broker class is used, as specified in the `config-br-defaults` ConfigMap.
17+
18+
In case you have multiple Broker classes installed in your cluster and want to use a non-default Broker class for a Broker, you can modify the `eventing.knative.dev/broker.class` annotation and `spec.config` for the Broker object.
19+
20+
1. Set the `eventing.knative.dev/broker.class` annotation. Replace `MTChannelBasedBroker` in the following example with the class type you want to use. Be aware that the Broker class annoation is immutable and thus can't be updated after the Broker got created:
21+
22+
2. Configure the `spec.config` with the details of the ConfigMap that defines the required configuration for the Broker class (e.g. with some Channel configurations in case of the `MTChannelBasedBroker`):
23+
24+
For further information about configuring a default Broker class cluster wide or on a per namespace basis, check the [Administrator configuration options](../configuration/broker-configuration.md#configuring-the-broker-class).
25+
326
## Broker configuration example
427

528
The following is a full example of a Channel based Broker object which shows the possible configuration options that you can modify:
@@ -30,9 +53,3 @@ spec:
3053
backoffPolicy: exponential
3154
backoffDelay: "PT1S"
3255
```
33-
34-
- You can specify any valid `name` for your broker. Using `default` will create a broker named `default`.
35-
- The `namespace` must be an existing namespace in your cluster. Using `default` will create the broker in the `default` namespace.
36-
- You can set the `eventing.knative.dev/broker.class` annotation to change the class of the broker. The default broker class is `MTChannelBasedBroker`, but Knative also supports use of the `Kafka` and `RabbitMQBroker` broker class. For more information see the [Apache Kafka Broker](../brokers/broker-types/kafka-broker/README.md) or [RabbitMQ Broker](../brokers/broker-types/rabbitmq-broker/README.md) documentation.
37-
- `spec.config` is used to specify the default backing channel configuration for Channel based Broker implementations. For more information on configuring the default channel type, see the documentation on [Configure Broker defaults](../configuration/broker-configuration.md).
38-
- `spec.delivery` is used to configure event delivery options. Event delivery options specify what happens to an event that fails to be delivered to an event sink. For more information, see the documentation on [Event delivery](../event-delivery.md).

docs/eventing/brokers/create-broker.md

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -76,41 +76,3 @@ You can create a Broker by using the `kn` CLI or by applying YAML files using `k
7676
```
7777

7878
If the `READY` status is `False`, wait a few moments and then run the command again.
79-
80-
## Broker class options
81-
82-
When a Broker is created without a specified `eventing.knative.dev/broker.class` annotation, the default `MTChannelBasedBroker` Broker class is used, as specified by default in the `config-br-defaults` ConfigMap.
83-
84-
In case you have multiple Broker classes installed in your cluster and want to use a non-default Broker class for a Broker, you can modify the `eventing.knative.dev/broker.class` annotation and `spec.config` for the Broker object.
85-
86-
1. Set the `eventing.knative.dev/broker.class` annotation. Replace `MTChannelBasedBroker` in the following example with the class type you want to use. Be aware that the Broker class annoation is immutable and thus can't be updated after the Broker got created:
87-
88-
```yaml
89-
apiVersion: eventing.knative.dev/v1
90-
kind: Broker
91-
metadata:
92-
annotations:
93-
eventing.knative.dev/broker.class: MTChannelBasedBroker
94-
name: default
95-
namespace: default
96-
```
97-
98-
1. Configure the `spec.config` with the details of the ConfigMap that defines the required configuration for the Broker class (e.g. with some Channel configurations in case of the `MTChannelBasedBroker`):
99-
100-
```yaml
101-
apiVersion: eventing.knative.dev/v1
102-
kind: Broker
103-
metadata:
104-
annotations:
105-
eventing.knative.dev/broker.class: MTChannelBasedBroker
106-
name: default
107-
namespace: default
108-
spec:
109-
config:
110-
apiVersion: v1
111-
kind: ConfigMap
112-
name: config-br-default-channel
113-
namespace: knative-eventing
114-
```
115-
116-
For further information about configuring a default Broker class cluster wide or on a per namespace basis, check the [Administrator configuration options](../configuration/broker-configuration.md#configuring-the-broker-class).

0 commit comments

Comments
 (0)