Skip to content

Commit 0f07a43

Browse files
committed
kafka cluster
1 parent 3a29e94 commit 0f07a43

6 files changed

Lines changed: 304 additions & 10 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Ignore Visual Studio Code settings
22
settings.json
3+
.vscode/
34

45
.idea/
56
Chart.lock

charts/mini-runtime/templates/deployment.yaml

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,23 @@ spec:
4949
- name: AKTO_INSTANCE_TYPE
5050
value: {{ quote .Values.mini_runtime.aktoApiSecurityRuntime.env.aktoInstanceType }}
5151
- name: AKTO_KAFKA_BROKER_MAL
52-
value: {{ if .Values.mini_runtime.useExternalKafka }}{{ quote .Values.mini_runtime.externalKafka.brokerUrl }}{{ else }}{{ quote .Values.mini_runtime.aktoApiSecurityRuntime.env.aktoKafkaBrokerMal }}{{ end }}
52+
value: >-
53+
{{- if .Values.mini_runtime.useExternalKafka }}
54+
{{ .Values.mini_runtime.externalKafka.brokerUrl }}
55+
{{- else if .Values.mini_runtime.useSeparateKafkaDeployment }}
56+
{{ include "akto.fullname" . }}-kafka.{{ .Release.Namespace }}.svc.{{ .Values.kubernetesClusterDomain }}:9092
57+
{{- else }}
58+
{{ .Values.mini_runtime.aktoApiSecurityRuntime.env.aktoKafkaBrokerMal }}
59+
{{- end }}
5360
- name: AKTO_KAFKA_BROKER_URL
54-
value: {{ if .Values.mini_runtime.useExternalKafka }}{{ quote .Values.mini_runtime.externalKafka.brokerUrl }}{{ else }}{{ quote .Values.mini_runtime.aktoApiSecurityRuntime.env.aktoKafkaBrokerUrl }}{{ end }}
61+
value: >-
62+
{{- if .Values.mini_runtime.useExternalKafka }}
63+
{{ .Values.mini_runtime.externalKafka.brokerUrl }}
64+
{{- else if .Values.mini_runtime.useSeparateKafkaDeployment }}
65+
{{ include "akto.fullname" . }}-kafka.{{ .Release.Namespace }}.svc.{{ .Values.kubernetesClusterDomain }}:9092
66+
{{- else }}
67+
{{ .Values.mini_runtime.aktoApiSecurityRuntime.env.aktoKafkaBrokerUrl }}
68+
{{- end }}
5569
- name: AKTO_KAFKA_GROUP_ID_CONFIG
5670
value: {{ quote .Values.mini_runtime.aktoApiSecurityRuntime.env.aktoKafkaGroupIdConfig
5771
}}
@@ -118,7 +132,7 @@ spec:
118132
name: akto-api-security-runtime
119133
resources: {{- toYaml .Values.mini_runtime.aktoApiSecurityRuntime.resources | nindent 10 }}
120134

121-
{{- if not .Values.mini_runtime.useExternalKafka }}
135+
{{- if and (not .Values.mini_runtime.useExternalKafka) (not .Values.mini_runtime.useSeparateKafkaDeployment) }}
122136
- env:
123137
- name: MY_POD_NAMESPACE
124138
valueFrom:
@@ -258,7 +272,7 @@ spec:
258272
{{- end }}
259273

260274
restartPolicy: Always
261-
{{- if and (not .Values.mini_runtime.useExternalKafka) (or .Values.mini_runtime.kafka1.useTls .Values.mini_runtime.kafka1.useSasl) }}
275+
{{- if and (not .Values.mini_runtime.useExternalKafka) (not .Values.mini_runtime.useSeparateKafkaDeployment) (or .Values.mini_runtime.kafka1.useTls .Values.mini_runtime.kafka1.useSasl) }}
262276
volumes:
263277
{{- if .Values.mini_runtime.kafka1.useTls }}
264278
- name: kafka-certs
@@ -407,9 +421,23 @@ spec:
407421
value: {{ quote .Values.threat_client.aktoApiSecurityThreatClient.env.postgresPassword
408422
}}
409423
- name: AKTO_TRAFFIC_KAFKA_BOOTSTRAP_SERVER
410-
value: {{ if .Values.mini_runtime.useExternalKafka }}{{ quote .Values.mini_runtime.externalKafka.brokerUrl }}{{ else }}akto-mini-runtime-mini-runtime.{{ .Release.Namespace }}.svc.cluster.local:9092{{ end }}
424+
value: >-
425+
{{- if .Values.mini_runtime.useExternalKafka }}
426+
{{ .Values.mini_runtime.externalKafka.brokerUrl }}
427+
{{- else if .Values.mini_runtime.useSeparateKafkaDeployment }}
428+
{{ include "akto.fullname" . }}-kafka.{{ .Release.Namespace }}.svc.{{ .Values.kubernetesClusterDomain }}:9092
429+
{{- else }}
430+
{{ .Release.Name }}-mini-runtime.{{ .Release.Namespace }}.svc.{{ .Values.kubernetesClusterDomain }}:9092
431+
{{- end }}
411432
- name: AKTO_INTERNAL_KAFKA_BOOTSTRAP_SERVER
412-
value: {{ if .Values.mini_runtime.useExternalKafka }}{{ quote .Values.mini_runtime.externalKafka.brokerUrl }}{{ else }}akto-mini-runtime-mini-runtime.{{ .Release.Namespace }}.svc.cluster.local:9092{{ end }}
433+
value: >-
434+
{{- if .Values.mini_runtime.useExternalKafka }}
435+
{{ .Values.mini_runtime.externalKafka.brokerUrl }}
436+
{{- else if .Values.mini_runtime.useSeparateKafkaDeployment }}
437+
{{ include "akto.fullname" . }}-kafka.{{ .Release.Namespace }}.svc.{{ .Values.kubernetesClusterDomain }}:9092
438+
{{- else }}
439+
{{ .Release.Name }}-mini-runtime.{{ .Release.Namespace }}.svc.{{ .Values.kubernetesClusterDomain }}:9092
440+
{{- end }}
413441
- name: AKTO_THREAT_DETECTION_LOCAL_REDIS_URI
414442
value: "redis://{{ include "akto.fullname" . }}-redis:6379"
415443

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{{- if and (not .Values.mini_runtime.useExternalKafka) .Values.mini_runtime.useSeparateKafkaDeployment }}
2+
---
3+
# Headless Service for StatefulSet pod DNS
4+
apiVersion: v1
5+
kind: Service
6+
metadata:
7+
name: {{ include "akto.fullname" . }}-kafka-headless
8+
labels:
9+
{{- include "akto.labels" . | nindent 4 }}
10+
app.kubernetes.io/component: kafka
11+
spec:
12+
clusterIP: None
13+
selector:
14+
app: {{ include "akto.fullname" . }}-kafka
15+
{{- include "akto.selectorLabels" . | nindent 4 }}
16+
ports:
17+
{{- if .Values.mini_runtime.kafka1.useSasl }}
18+
{{- .Values.ports.sasl | toYaml | nindent 4 -}}
19+
{{- else if .Values.mini_runtime.kafka1.useTls }}
20+
{{- .Values.ports.tls | toYaml | nindent 4 -}}
21+
{{- else }}
22+
{{- .Values.ports.default | toYaml | nindent 4 -}}
23+
{{- end }}
24+
---
25+
# Regular Service for client connections
26+
apiVersion: v1
27+
kind: Service
28+
metadata:
29+
name: {{ include "akto.fullname" . }}-kafka
30+
labels:
31+
{{- include "akto.labels" . | nindent 4 }}
32+
app.kubernetes.io/component: kafka
33+
annotations:
34+
{{- with .Values.mini_runtime.annotations }}
35+
{{- toYaml . | nindent 4 }}
36+
{{- end }}
37+
spec:
38+
type: {{ .Values.mini_runtime.type }}
39+
selector:
40+
app: {{ include "akto.fullname" . }}-kafka
41+
{{- include "akto.selectorLabels" . | nindent 4 }}
42+
ports:
43+
{{- if .Values.mini_runtime.kafka1.useSasl }}
44+
{{- .Values.ports.sasl | toYaml | nindent 4 -}}
45+
{{- else if .Values.mini_runtime.kafka1.useTls }}
46+
{{- .Values.ports.tls | toYaml | nindent 4 -}}
47+
{{- else }}
48+
{{- .Values.ports.default | toYaml | nindent 4 -}}
49+
{{- end }}
50+
{{- end }}
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
{{- if and (not .Values.mini_runtime.useExternalKafka) .Values.mini_runtime.useSeparateKafkaDeployment }}
2+
apiVersion: apps/v1
3+
kind: StatefulSet
4+
metadata:
5+
name: {{ include "akto.fullname" . }}-kafka
6+
labels:
7+
{{- include "akto.labels" . | nindent 4 }}
8+
app.kubernetes.io/component: kafka
9+
spec:
10+
serviceName: {{ include "akto.fullname" . }}-kafka-headless
11+
replicas: {{ .Values.mini_runtime.kafka1.replicas }}
12+
selector:
13+
matchLabels:
14+
app: {{ include "akto.fullname" . }}-kafka
15+
{{- include "akto.selectorLabels" . | nindent 6 }}
16+
template:
17+
metadata:
18+
labels:
19+
app: {{ include "akto.fullname" . }}-kafka
20+
{{- include "akto.selectorLabels" . | nindent 8 }}
21+
app.kubernetes.io/component: kafka
22+
spec:
23+
{{- with .Values.nodeSelector }}
24+
nodeSelector:
25+
{{- toYaml . | nindent 8 }}
26+
{{- end }}
27+
{{- with .Values.tolerations }}
28+
tolerations:
29+
{{- toYaml . | nindent 8 }}
30+
{{- end }}
31+
{{- with .Values.affinity }}
32+
affinity:
33+
{{- toYaml . | nindent 8 }}
34+
{{- end }}
35+
containers:
36+
- name: kafka
37+
image: {{ .Values.mini_runtime.kafka1.image.repository }}:{{ .Values.mini_runtime.kafka1.image.tag | default .Chart.AppVersion }}
38+
command:
39+
- bash
40+
- -c
41+
- |
42+
# Extract pod ordinal from hostname
43+
export POD_ORDINAL=${HOSTNAME##*-}
44+
export KAFKA_NODE_ID=${POD_ORDINAL}
45+
export KAFKA_BROKER_ID=${POD_ORDINAL}
46+
47+
# Build controller quorum voters list for KRaft
48+
QUORUM_VOTERS=""
49+
for i in $(seq 0 $(({{ .Values.mini_runtime.kafka1.replicas }} - 1))); do
50+
if [ -n "$QUORUM_VOTERS" ]; then
51+
QUORUM_VOTERS="${QUORUM_VOTERS},"
52+
fi
53+
QUORUM_VOTERS="${QUORUM_VOTERS}${i}@{{ include "akto.fullname" . }}-kafka-${i}.{{ include "akto.fullname" . }}-kafka-headless.${MY_POD_NAMESPACE}.svc.{{ .Values.kubernetesClusterDomain }}:9094"
54+
done
55+
export KAFKA_CONTROLLER_QUORUM_VOTERS=$QUORUM_VOTERS
56+
57+
echo "Starting Kafka with NODE_ID=${KAFKA_NODE_ID}"
58+
echo "Controller Quorum: ${KAFKA_CONTROLLER_QUORUM_VOTERS}"
59+
60+
# Start Kafka
61+
exec /etc/confluent/docker/run
62+
ports:
63+
- containerPort: 9092
64+
name: kafka
65+
- containerPort: 9093
66+
name: kafka-ssl
67+
- containerPort: 9094
68+
name: controller
69+
- containerPort: 9999
70+
name: jmx
71+
env:
72+
- name: MY_POD_NAME
73+
valueFrom:
74+
fieldRef:
75+
fieldPath: metadata.name
76+
- name: MY_POD_NAMESPACE
77+
valueFrom:
78+
fieldRef:
79+
fieldPath: metadata.namespace
80+
- name: HOSTNAME
81+
valueFrom:
82+
fieldRef:
83+
fieldPath: metadata.name
84+
- name: KAFKA_ADVERTISED_LISTENERS
85+
value: >-
86+
{{- if .Values.mini_runtime.kafka1.env.kafkaAdvertisedListeners }}
87+
{{ .Values.mini_runtime.kafka1.env.kafkaAdvertisedListeners }}
88+
{{- else if and .Values.mini_runtime.kafka1.useSasl .Values.mini_runtime.kafka1.useTls }}
89+
LISTENER_DOCKER_EXTERNAL_DIFFHOST_SASL://$(MY_POD_NAME).{{ include "akto.fullname" . }}-kafka-headless.$(MY_POD_NAMESPACE).svc.{{ .Values.kubernetesClusterDomain }}:9093
90+
{{- else if .Values.mini_runtime.kafka1.useSasl }}
91+
LISTENER_DOCKER_EXTERNAL_DIFFHOST_SASL://$(MY_POD_NAME).{{ include "akto.fullname" . }}-kafka-headless.$(MY_POD_NAMESPACE).svc.{{ .Values.kubernetesClusterDomain }}:9092
92+
{{- else if .Values.mini_runtime.kafka1.useTls }}
93+
LISTENER_DOCKER_EXTERNAL_DIFFHOST://$(MY_POD_NAME).{{ include "akto.fullname" . }}-kafka-headless.$(MY_POD_NAMESPACE).svc.{{ .Values.kubernetesClusterDomain }}:9092,LISTENER_DOCKER_EXTERNAL_DIFFHOST_ENCRYPTED://$(MY_POD_NAME).{{ include "akto.fullname" . }}-kafka-headless.$(MY_POD_NAMESPACE).svc.{{ .Values.kubernetesClusterDomain }}:9093
94+
{{- else }}
95+
LISTENER_DOCKER_EXTERNAL_DIFFHOST://$(MY_POD_NAME).{{ include "akto.fullname" . }}-kafka-headless.$(MY_POD_NAMESPACE).svc.{{ .Values.kubernetesClusterDomain }}:9092
96+
{{- end }}
97+
- name: KAFKA_CLEANUP_POLICY
98+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaCleanupPolicy }}
99+
- name: KAFKA_CREATE_TOPICS
100+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaCreateTopics }}
101+
- name: KAFKA_INTER_BROKER_LISTENER_NAME
102+
value: >-
103+
{{- if .Values.mini_runtime.kafka1.env.kafkaAdvertisedListeners }}
104+
{{ .Values.mini_runtime.kafka1.env.kafkaInterBrokerListenerName }}
105+
{{- else if .Values.mini_runtime.kafka1.useSasl }}
106+
LISTENER_DOCKER_EXTERNAL_DIFFHOST_SASL
107+
{{- else if .Values.mini_runtime.kafka1.useTls }}
108+
LISTENER_DOCKER_EXTERNAL_DIFFHOST
109+
{{- else }}
110+
LISTENER_DOCKER_EXTERNAL_DIFFHOST
111+
{{- end }}
112+
- name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
113+
value: >-
114+
{{- if and .Values.mini_runtime.kafka1.useSasl .Values.mini_runtime.kafka1.useTls }}
115+
{{ .Values.mini_runtime.kafka1.env.kafkaListenerSecurityProtocolMapSaslTls }}
116+
{{- else if .Values.mini_runtime.kafka1.useSasl }}
117+
{{ .Values.mini_runtime.kafka1.env.kafkaListenerSecurityProtocolMapSasl }}
118+
{{- else if .Values.mini_runtime.kafka1.useTls }}
119+
{{ .Values.mini_runtime.kafka1.env.kafkaListenerSecurityProtocolMapSsl }}
120+
{{- else }}
121+
CONTROLLER:PLAINTEXT,LISTENER_DOCKER_EXTERNAL_DIFFHOST:PLAINTEXT
122+
{{- end }}
123+
- name: KAFKA_PROCESS_ROLES
124+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaProcessRoles }}
125+
- name: KAFKA_CONTROLLER_LISTENER_NAMES
126+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaControllerListenerNames }}
127+
- name: KAFKA_LISTENERS
128+
value: >-
129+
{{- if .Values.mini_runtime.kafka1.env.kafkaListeners }}
130+
{{ .Values.mini_runtime.kafka1.env.kafkaListeners }}
131+
{{- else if and .Values.mini_runtime.kafka1.useSasl .Values.mini_runtime.kafka1.useTls }}
132+
CONTROLLER://0.0.0.0:9094,LISTENER_DOCKER_EXTERNAL_DIFFHOST_SASL://0.0.0.0:9093
133+
{{- else if .Values.mini_runtime.kafka1.useSasl }}
134+
CONTROLLER://0.0.0.0:9094,LISTENER_DOCKER_EXTERNAL_DIFFHOST_SASL://0.0.0.0:9092
135+
{{- else if .Values.mini_runtime.kafka1.useTls }}
136+
CONTROLLER://0.0.0.0:9094,LISTENER_DOCKER_EXTERNAL_DIFFHOST_ENCRYPTED://0.0.0.0:9093
137+
{{- else }}
138+
CONTROLLER://0.0.0.0:9094,LISTENER_DOCKER_EXTERNAL_DIFFHOST://0.0.0.0:9092
139+
{{- end }}
140+
- name: KAFKA_LOG_CLEANER_ENABLE
141+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaLogCleanerEnable }}
142+
- name: KAFKA_LOG_RETENTION_BYTES
143+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaLogRetentionBytes }}
144+
- name: KAFKA_LOG_RETENTION_CHECK_INTERVAL_MS
145+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaLogRetentionCheckIntervalMs }}
146+
- name: KAFKA_LOG_RETENTION_HOURS
147+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaLogRetentionHours }}
148+
- name: KAFKA_LOG_SEGMENT_BYTES
149+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaLogSegmentBytes }}
150+
- name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
151+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaOffsetsTopicReplicationFactor }}
152+
- name: KAFKA_TRANSACTION_STATE_LOG_MIN_ISR
153+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaTransactionStateLogMinIsr }}
154+
- name: KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR
155+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaTransactionStateLogReplicationFactor }}
156+
- name: CLUSTER_ID
157+
value: {{ quote .Values.mini_runtime.kafka1.env.kafkaClusterId }}
158+
{{- if .Values.mini_runtime.kafka1.useTls }}
159+
- name: KAFKA_SSL_KEYSTORE_LOCATION
160+
value: {{ quote .Values.mini_runtime.kafka1.env.sslKeystoreLocation }}
161+
- name: KAFKA_SSL_KEYSTORE_PASSWORD
162+
value: {{ quote .Values.mini_runtime.kafka1.env.sslKeystorePassword }}
163+
- name: KAFKA_SSL_KEY_PASSWORD
164+
value: {{ quote .Values.mini_runtime.kafka1.env.sslKeyPassword }}
165+
- name: KAFKA_SSL_TRUSTSTORE_LOCATION
166+
value: {{ quote .Values.mini_runtime.kafka1.env.sslTruststoreLocation }}
167+
- name: KAFKA_SSL_TRUSTSTORE_PASSWORD
168+
value: {{ quote .Values.mini_runtime.kafka1.env.sslTruststorePassword }}
169+
{{- end }}
170+
{{- if .Values.mini_runtime.kafka1.useSasl }}
171+
- name: KAFKA_OPTS
172+
value: "-Djava.security.auth.login.config=/etc/kafka/config/kafka_server_jaas.conf"
173+
- name: KAFKA_SASL_ENABLED_MECHANISMS
174+
value: "PLAIN"
175+
- name: KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL
176+
value: "PLAIN"
177+
{{- end }}
178+
- name: KUBERNETES_CLUSTER_DOMAIN
179+
value: {{ quote .Values.kubernetesClusterDomain }}
180+
{{- if or .Values.mini_runtime.kafka1.useTls .Values.mini_runtime.kafka1.useSasl }}
181+
volumeMounts:
182+
{{- if .Values.mini_runtime.kafka1.useTls }}
183+
- name: kafka-certs
184+
mountPath: {{ quote .Values.mini_runtime.kafka1.env.sslBaseMountPath }}
185+
{{- end }}
186+
{{- if .Values.mini_runtime.kafka1.useSasl }}
187+
- name: kafka-jaas-config
188+
mountPath: /etc/kafka/config
189+
readOnly: true
190+
{{- end }}
191+
{{- end }}
192+
resources: {{- toYaml .Values.mini_runtime.kafka1.resources | nindent 10 }}
193+
restartPolicy: Always
194+
{{- if or .Values.mini_runtime.kafka1.useTls .Values.mini_runtime.kafka1.useSasl }}
195+
volumes:
196+
{{- if .Values.mini_runtime.kafka1.useTls }}
197+
- name: kafka-certs
198+
secret:
199+
secretName: {{ quote .Values.mini_runtime.kafka1.env.sslSecretName }}
200+
{{- end }}
201+
{{- if .Values.mini_runtime.kafka1.useSasl }}
202+
- name: kafka-jaas-config
203+
configMap:
204+
name: {{ include "akto.fullname" . }}-kafka-jaas-config
205+
{{- end }}
206+
{{- end }}
207+
{{- end }}

charts/mini-runtime/templates/mini-runtime.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{- if not .Values.mini_runtime.useExternalKafka }}
1+
{{- if and (not .Values.mini_runtime.useExternalKafka) (not .Values.mini_runtime.useSeparateKafkaDeployment) }}
22
apiVersion: v1
33
kind: Service
44
metadata:

charts/mini-runtime/values.yaml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ affinity: {}
2727
# - coreservices
2828

2929
mini_runtime:
30+
# Kafka Deployment Mode Configuration
31+
# useSeparateKafkaDeployment: Set to true to deploy Kafka as a separate StatefulSet (recommended for production)
32+
# When true, Kafka will be deployed as an independent, horizontally scalable cluster with FQDN-based communication
33+
# When false, Kafka will run as a sidecar container in the mini-runtime pod (legacy mode, localhost communication)
34+
useSeparateKafkaDeployment: true
35+
3036
# External Kafka Configuration
3137
# Set useExternalKafka to true to use an existing Kafka cluster
3238
# When enabled, the internal Kafka container will not be deployed
@@ -76,12 +82,14 @@ mini_runtime:
7682
cpu: 2
7783
memory: "8Gi"
7884
kafka1:
85+
# Number of Kafka replicas (only applies when useSeparateKafkaDeployment is true)
86+
replicas: 2
7987
env:
8088
# add advertised listeners if you want to override the default listeners
8189
kafkaAdvertisedListeners: ""
8290
kafkaBrokerId: "1"
8391
kafkaCleanupPolicy: delete
84-
kafkaCreateTopics: akto.api.logs:3:3
92+
kafkaCreateTopics: akto.api.logs:12:2
8593
kafkaInterBrokerListenerName: LISTENER_DOCKER_EXTERNAL_LOCALHOST
8694
kafkaListenerSecurityProtocolMap: CONTROLLER:PLAINTEXT,LISTENER_DOCKER_EXTERNAL_LOCALHOST:PLAINTEXT,LISTENER_DOCKER_EXTERNAL_DIFFHOST:PLAINTEXT
8795
kafkaListenerSecurityProtocolMapSsl: CONTROLLER:PLAINTEXT,LISTENER_DOCKER_EXTERNAL_LOCALHOST:PLAINTEXT,LISTENER_DOCKER_EXTERNAL_DIFFHOST:PLAINTEXT,LISTENER_DOCKER_EXTERNAL_DIFFHOST_ENCRYPTED:SSL
@@ -97,9 +105,9 @@ mini_runtime:
97105
kafkaLogRetentionCheckIntervalMs: "60000"
98106
kafkaLogRetentionHours: "5"
99107
kafkaLogSegmentBytes: "104857600"
100-
kafkaOffsetsTopicReplicationFactor: "1"
108+
kafkaOffsetsTopicReplicationFactor: "2"
101109
kafkaTransactionStateLogMinIsr: "1"
102-
kafkaTransactionStateLogReplicationFactor: "1"
110+
kafkaTransactionStateLogReplicationFactor: "2"
103111
kafkaClusterId: "c6a1b8e2-4f2a-4b2a-9c3f-1a2b3c4d5e6f"
104112
sslKeystoreLocation: "/etc/kafka/ssl/secrets/server.keystore.jks"
105113
sslKeystorePassword: "password"

0 commit comments

Comments
 (0)