|
2 | 2 |
|
3 | 3 | ## Broker configuration
|
4 | 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 `exponantial` 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 | +### Advance broroker class options |
| 16 | +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. |
| 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 | + |
5 | 26 | The following is a full example of a Channel based Broker object which shows the possible configuration options that you can modify:
|
6 | 27 |
|
7 | 28 | ```yaml
|
|
30 | 51 | backoffPolicy: exponential
|
31 | 52 | backoffDelay: "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
|
32 | 53 | ```
|
33 |
| -- You can specify any valid `name` for your broker. Using `default` will create a broker named `default`. |
34 |
| -- The `namespace` must be an existing namespace in your cluster. Using `default` will create the broker in the `default` namespace. |
35 |
| - |
36 |
| -### Event Delivery Options |
37 |
| -- 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`. |
38 |
| -- You can set the `Backoff policies` to define the delay strategy between retry attempts. It can be `exponantial` or `linear`. |
39 |
| -- You can set the `Backoff delay ` to specify the initial delay before retrying, using the ISO 8601 duration format. |
40 |
| -- You can specify the number of retry attempts before sending the event to the dead-letter sink using the `retry` configuration. |
41 |
| -- `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). |
42 |
| - |
43 |
| -### Advance broroker class options |
44 |
| -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. |
45 |
| - |
46 |
| -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. |
47 |
| - |
48 |
| -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: |
49 |
| - |
50 |
| - ```yaml |
51 |
| - apiVersion: eventing.knative.dev/v1 |
52 |
| - kind: Broker |
53 |
| - metadata: |
54 |
| - annotations: |
55 |
| - eventing.knative.dev/broker.class: MTChannelBasedBroker |
56 |
| - name: default |
57 |
| - namespace: default |
58 |
| - ``` |
59 |
| - |
60 |
| -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`): |
61 |
| - |
62 |
| - ```yaml |
63 |
| - apiVersion: eventing.knative.dev/v1 |
64 |
| - kind: Broker |
65 |
| - metadata: |
66 |
| - annotations: |
67 |
| - eventing.knative.dev/broker.class: MTChannelBasedBroker |
68 |
| - name: default |
69 |
| - namespace: default |
70 |
| - spec: |
71 |
| - config: |
72 |
| - apiVersion: v1 |
73 |
| - kind: ConfigMap |
74 |
| - name: config-br-default-channel |
75 |
| - namespace: knative-eventing |
76 |
| - ``` |
77 |
| - |
78 |
| -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