diff --git a/config/product/kafka.js b/config/product/kafka.js
new file mode 100644
index 00000000000..ba6fe617b86
--- /dev/null
+++ b/config/product/kafka.js
@@ -0,0 +1,45 @@
+import { DSL } from '@/store/type-map';
+
+export const NAME = 'kafka';
+export const CHART_NAME = 'strimzi-kafka-operator';
+
+export function init(store) {
+ const {
+ product,
+ basicType,
+ virtualType,
+ configureType,
+ } = DSL(store, NAME);
+
+ product({
+ //TODO (Creatone): Add condition for Kafka.
+ //ifHave: IF_HAVE.V2_MONITORING, // possible RBAC issue here if mon turned on but user doesn't have view/read roles on pod monitors
+ icon: 'kafka',
+ weight: 90,
+ });
+
+ virtualType({
+ label: 'Kafka',
+ namespaced: false,
+ name: 'monitoring-overview',
+ weight: 105,
+ route: { name: 'c-cluster-monitoring' },
+ exact: true,
+ overview: true,
+ });
+
+ virtualType({
+ label: 'Create',
+ group: 'kafka',
+ name: 'create',
+ icon: 'globe',
+ route: { name: 'c-cluster-kafka-create' }
+ });
+
+ configureType('create', { showListMasthead: false });
+
+ basicType([
+ 'kafka',
+ 'create',
+ ]);
+}
diff --git a/pages/c/_cluster/kafka/create/index.vue b/pages/c/_cluster/kafka/create/index.vue
new file mode 100644
index 00000000000..204884d26b8
--- /dev/null
+++ b/pages/c/_cluster/kafka/create/index.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/pages/c/_cluster/kafka/index.vue b/pages/c/_cluster/kafka/index.vue
new file mode 100644
index 00000000000..e407a230837
--- /dev/null
+++ b/pages/c/_cluster/kafka/index.vue
@@ -0,0 +1,207 @@
+
+
+
+
+