spring.kafka.properties.sasl.mechanism: {{ .Values.kafkaUser.authenticationType | upper }}
 spring.kafka.properties.sasl.jaas.config: ${SASL_JAAS_CONFIG}
 
+# Kafka Topics
+{{- if .Values.topics.config }}
+{{ toYaml .Values.topics.config | nindent 2 }}
+{{- end }}
+
 {{- if .Values.config.additional }}
 {{ toYaml .Values.config.additional | nindent 2 }}
 {{- end }}
 
     notification.async.executor.wait-for-tasks-to-complete-on-shutdown: true
     notification.async.executor.thread-name-prefix: Async-
 
-# Strimzi KafkaUser config
+# Strimzi KafkaUser and Topic config
+kafkaTopic:
+  - name: &dmiCmEventsTopic dmi-cm-events
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+  - name: &ncmpAsyncM2MTopic ncmp-async-m2m
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+  - name: &cmAvcSubscriptionTopic cm-avc-subscription
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+
 kafkaUser:
   authenticationType: scram-sha-512
   acls:
     - name: *dataUpdatedTopic
       type: topic
       operations: [Write]
-    - name: dmi-cm-events
+    - name: *dmiCmEventsTopic
       type: topic
       operations: [Read]
-    - name: ncmp-async-m2m
+    - name: *ncmpAsyncM2MTopic
       type: topic
       operations: [Read]
-    - name: cm-avc-subscription
+    - name: *cmAvcSubscriptionTopic
       type: topic
       operations: [Read]
 
+topics:
+  config:
+    app.ncmp.async-m2m.topic: *ncmpAsyncM2MTopic
+    app.ncmp.avc.subscription-topic: *cmAvcSubscriptionTopic
+    app.dmi.cm-events.topic: *dmiCmEventsTopic
+
 logging:
   level: INFO
   path: /tmp
 
 spring.kafka.properties.sasl.mechanism: {{ .Values.kafkaUser.authenticationType | upper }}
 spring.kafka.properties.sasl.jaas.config: ${SASL_JAAS_CONFIG}
 
+# Kafka Topics
+{{- if .Values.topics.config }}
+{{ toYaml .Values.topics.config | nindent 2 }}
+{{- end }}
+
 {{- if .Values.config.additional }}
 {{ toYaml .Values.config.additional | nindent 2 }}
 {{- end }}
 
   maxUnavailable: 0
   maxSurge: 1
 
-# Strimzi KafkaUser config
+# Strimzi KafkaUser and Topic config
+kafkaTopic:
+  - name: &ncmpDmiCmAvcSubscriptionNcmpDmiPluginTopic ncmp-dmi-cm-avc-subscription-ncmp-dmi-plugin
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+  - name: &dmiNcmpCmAvcSubscriptionTopic dmi-ncmp-cm-avc-subscription
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+  - name: &ncmpAsyncM2MTopic ncmp-async-m2m
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+
 kafkaUser:
   authenticationType: scram-sha-512
   acls:
     - name: ncmp-dmi-plugin-group
       type: group
       operations: [Read]
-    - name: ncmp-dmi-cm-avc-subscription-ncmp-dmi-plugin
+    - name: *ncmpDmiCmAvcSubscriptionNcmpDmiPluginTopic
       type: topic
       operations: [Read]
-    - name: dmi-ncmp-cm-avc-subscription
+    - name: *dmiNcmpCmAvcSubscriptionTopic
       type: topic
       operations: [Write]
-    - name: ncmp-async-m2m
+    - name: *ncmpAsyncM2MTopic
       type: topic
       operations: [Write]
+
+topics:
+  config:
+    app.ncmp.async.topic: *ncmpAsyncM2MTopic
+    app.dmi.avc.subscription-topic: *ncmpDmiCmAvcSubscriptionNcmpDmiPluginTopic
+    app.dmi.avc.subscription-response-topic: *dmiNcmpCmAvcSubscriptionTopic