You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 068-kafkabrige-consumer-producer.md
+38-42Lines changed: 38 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,3 @@
1
-
<!-- This template is provided as an example with sections you may wish to comment on with respect to your proposal. Add or remove sections as required to best articulate the proposal. -->
2
-
3
1
# Enhance KafkaBridge resource with consumer inactivity timeout and HTTP consumer/producer parts enablement
4
2
5
3
Providing support in the Strimzi Kubernetes Operator for following properties supported in the Strimzi HTTP Kafka Bridge:
@@ -17,62 +15,60 @@ Raised in the discussion here: https://github.com/strimzi/strimzi-kafka-operator
17
15
18
16
## Proposal
19
17
20
-
Proposal is implemented here: https://github.com/strimzi/strimzi-kafka-operator/pull/9820, both Paolo and Jakub suggested to raise a proposal for the implementation of `http.consumer.enabled` and `http.producer.enabled` specifically, as it can be done in two ways, motivated here: https://github.com/strimzi/strimzi-kafka-operator/pull/9820#discussion_r1523500115.
18
+
Proposal is implemented here: https://github.com/strimzi/strimzi-kafka-operator/pull/9820, both Paolo and Jakub suggested to raise a proposal for the implementation of `http.consumer.enabled` and `http.producer.enabled` specifically, as it can be done in two ways, current status is that you can just enable/disable the usage of consumer or producer on the HTTP side, which means being or not being able to use HTTP to producer and/or consume (so by using the corresponding Kafka part).
19
+
Question is whether the enablement should be located as part of the `http` properties, or in each of the corresponding `consumer` or `producer` properties.
21
20
22
21
### Version 1 (which is currently implemented):
23
22
24
23
Adding dedicated section under the `http` properties for defining enablement of producer and consumer:
25
24
```yaml
25
+
apiVersion: "kafka.strimzi.io/v1beta2"
26
+
kind: "KafkaBridge"
27
+
metadata:
28
+
name: "test-kafka-bridge"
26
29
spec:
30
+
replicas: 1
31
+
image: "my-test-image"
32
+
bootstrapServers: "my-cluster-kafka:9092"
27
33
http:
28
-
type: object
29
-
properties:
30
-
timeoutSeconds:
31
-
type: integer
32
-
description: The timeout in seconds for deleting inactive consumers.
33
-
producer:
34
-
type: object
35
-
properties:
36
-
enabled:
37
-
type: boolean
38
-
description: Whether the HTTP producer should be enabled or disabled.
39
-
description: Configurations for the HTTP Producer.
40
-
consumer:
41
-
type: object
42
-
properties:
43
-
enabled:
44
-
type: boolean
45
-
description: Whether the HTTP consumer should be enabled or disabled.
46
-
description: Configurations for the HTTP Consumer.
34
+
timeoutSeconds: 60
35
+
producer:
36
+
enabled: false
37
+
consumer:
38
+
enabled: true
39
+
consumer:
40
+
config:
41
+
foo: "bar"
42
+
producer:
43
+
config:
44
+
foo: "buz"
45
+
enableMetrics: false
47
46
```
48
47
49
48
### Version 2:
50
49
51
50
Adding enablement of producer and consumer to their own sections, example:
52
51
```yaml
52
+
apiVersion: "kafka.strimzi.io/v1beta2"
53
+
kind: "KafkaBridge"
54
+
metadata:
55
+
name: "test-kafka-bridge"
53
56
spec:
57
+
replicas: 1
58
+
image: "my-test-image"
59
+
bootstrapServers: "my-cluster-kafka:9092"
60
+
http:
61
+
timeoutSeconds: 60
54
62
consumer:
55
-
type: object
56
-
properties:
57
-
enabled:
58
-
type: boolean
59
-
description: Whether the HTTP consumer should be enabled or disabled.
60
-
config:
61
-
x-kubernetes-preserve-unknown-fields: true
62
-
type: object
63
-
description: "The Kafka consumer configuration used for consumer instances created by the bridge. Properties with the following prefixes cannot be set: ssl., bootstrap.servers, group.id, sasl., security. (with the exception of: ssl.endpoint.identification.algorithm, ssl.cipher.suites, ssl.protocol, ssl.enabled.protocols)."
64
-
description: Kafka consumer related configuration.
63
+
enabled: true
64
+
config:
65
+
foo: "bar"
65
66
producer:
66
-
type: object
67
-
properties:
68
-
enabled:
69
-
type: boolean
70
-
description: Whether the HTTP producer should be enabled or disabled.
71
-
config:
72
-
x-kubernetes-preserve-unknown-fields: true
73
-
type: object
74
-
description: "The Kafka producer configuration used for producer instances created by the bridge. Properties with the following prefixes cannot be set: ssl., bootstrap.servers, sasl., security. (with the exception of: ssl.endpoint.identification.algorithm, ssl.cipher.suites, ssl.protocol, ssl.enabled.protocols)."
75
-
description: Kafka producer related configuration.```
0 commit comments