diff --git a/voltha-adapter-simulated/.helmignore b/voltha-adapter-simulated/.helmignore
deleted file mode 100644
index f0c1319..0000000
--- a/voltha-adapter-simulated/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/voltha-adapter-simulated/Chart.yaml b/voltha-adapter-simulated/Chart.yaml
deleted file mode 100644
index 436b731..0000000
--- a/voltha-adapter-simulated/Chart.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2019-2023 Open Networking Foundation (ONF) and the ONF Contributors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
----
-apiVersion: "v1"
-name: "voltha-adapter-simulated"
-version: "2.3.2"
-description: "A Helm chart for Voltha Simulated Adapter"
-keywords:
-  - "onf"
-  - "voltha"
-  - "adapter"
-  - "sim"
-  - "simulated"
-  - "open"
-home: "https://www.opennetworking.org/voltha"
-icon: "https://guide.opencord.org/logos/voltha.svg"
-sources:
-  - "https://github.com/opencord/voltha-simonu-adapter"
-  - "https://github.com/opencord/voltha-simolt-adapter"
-maintainers:
-  - name: "Open Networking Foundation"
-    email: "info@opennetworking.org"
-    url: "https://www.opennetworking.org"
-depricated: true
-
-# appVersion refers to multiple components with potentially different
-# container image versions.
-appVersion: "2.4"
diff --git a/voltha-adapter-simulated/templates/_helpers.tpl b/voltha-adapter-simulated/templates/_helpers.tpl
deleted file mode 100644
index 94f1d5b..0000000
--- a/voltha-adapter-simulated/templates/_helpers.tpl
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-{{/* Expand the name of the chart. */}}
-{{- define "name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{/* Create a default fully qualified app name. We truncate at 63 chars because . . . */}}
-{{- define "fullname" -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
diff --git a/voltha-adapter-simulated/templates/olt-adapter-deploy.yaml b/voltha-adapter-simulated/templates/olt-adapter-deploy.yaml
deleted file mode 100644
index 4b8b8d3..0000000
--- a/voltha-adapter-simulated/templates/olt-adapter-deploy.yaml
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 2019-2023 Open Networking Foundation (ONF) and the ONF Contributors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: "{{ template "fullname" . }}-olt"
-  namespace: {{ .Release.Namespace }}
-  {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "simolt_deployment_labels") }}
-  labels:
-    {{- if hasKey .Values "extra_deployment_labels" }}
-    {{- range $key, $val := .Values.extra_deployment_labels }}
-    {{ $key }}: {{ $val | quote }}
-    {{- end }}
-    {{- end }}
-    {{- if hasKey .Values "simolt_deployment_labels" }}
-    {{- range $key, $val := .Values.simolt_deployment_labels }}
-    {{ $key }}: {{ $val | quote }}
-    {{- end }}
-    {{- end }}
-  {{- end }}
-spec:
-  replicas: {{ .Values.replicas.adapter_simulated_olt }}
-  selector:
-    matchLabels:
-      app: adapter-simulated-olt
-      release: {{ .Release.Name }}
-  template:
-    metadata:
-      namespace: {{ .Release.Namespace }}
-      labels:
-        app: adapter-simulated-olt
-        release: {{ .Release.Name }}
-        app.kubernetes.io/name: "adapter-simulated-olt"
-        app.kubernetes.io/version: {{ quote .Chart.AppVersion }}
-        app.kubernetes.io/component: "adapter"
-        app.kubernetes.io/part-of: "voltha"
-        app.kubernetes.io/managed-by: {{ quote .Release.Service }}
-        helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-        {{- if hasKey .Values "extra_pod_labels" }}
-        {{- range $key, $val := .Values.extra_pod_labels }}
-        {{ $key }}: {{ $val | quote }}
-        {{- end }}
-        {{- end }}
-        {{- if hasKey .Values "simolt_pod_labels" }}
-        {{- range $key, $val := .Values.simolt_pod_labels }}
-        {{ $key }}: {{ $val | quote }}
-        {{- end }}
-        {{- end }}
-    spec:
-      {{- if .Values.securityContext.enabled }}
-      securityContext:
-        runAsUser: {{ .Values.securityContext.runAsUser }}
-        runAsGroup: {{ .Values.securityContext.runAsGroup }}
-        fsGroup: {{ .Values.securityContext.fsGroup }}
-      {{- end }}
-      containers:
-        - name: adapter-simulated-olt
-          image: '{{ tpl .Values.images.adapter_simulated_olt.registry . }}{{ tpl .Values.images.adapter_simulated_olt.repository . }}:{{ tpl .Values.images.adapter_simulated_olt.tag . }}'
-          imagePullPolicy: {{ tpl .Values.images.adapter_simulated_olt.pullPolicy . }}
-          args:
-            - "/app/simulated_olt"
-            - "-kafka_adapter_host={{ .Values.services.kafka.adapter.service }}"
-            - "-kafka_adapter_port={{ .Values.services.kafka.adapter.port }}"
-            - "-kafka_cluster_host={{ .Values.services.kafka.cluster.service }}"
-            - "-kafka_cluster_port={{ .Values.services.kafka.cluster.port }}"
-            - "-kv_store_host={{ .Values.services.etcd.service }}"
-            - "-kv_store_port={{ .Values.services.etcd.port }}"
-            - "-core_topic=rwcore"
-            - "-simulator_topic=simulated_olt"
-            - "-onu_number={{ .Values.onus_per_pon_port }}"
-            - "-probe_port=8080"
-          livenessProbe:
-            httpGet:
-              path: /healthz
-              port: 8080
-            initialDelaySeconds: 10
-            periodSeconds: 5
-          readinessProbe:
-            httpGet:
-              path: /readz
-              port: 8080
-            initialDelaySeconds: 10
-            periodSeconds: 5
diff --git a/voltha-adapter-simulated/templates/onu-adapter-deploy.yaml b/voltha-adapter-simulated/templates/onu-adapter-deploy.yaml
deleted file mode 100644
index 95d467b..0000000
--- a/voltha-adapter-simulated/templates/onu-adapter-deploy.yaml
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 2019-2023 Open Networking Foundation (ONF) and the ONF Contributors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: "{{ template "fullname" . }}-onu"
-  namespace: {{ .Release.Namespace }}
-  {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "simonu_deployment_labels") }}
-  labels:
-    {{- if hasKey .Values "extra_deployment_labels" }}
-    {{- range $key, $val := .Values.extra_deployment_labels }}
-    {{ $key }}: {{ $val | quote }}
-    {{- end }}
-    {{- end }}
-    {{- if hasKey .Values "simonu_deployment_labels" }}
-    {{- range $key, $val := .Values.simonu_deployment_labels }}
-    {{ $key }}: {{ $val | quote }}
-    {{- end }}
-    {{- end }}
-  {{- end }}
-spec:
-  replicas: {{ .Values.replicas.adapter_simulated_onu }}
-  selector:
-    matchLabels:
-      app: adapter-simulated-onu
-      release: {{ .Release.Name }}
-  template:
-    metadata:
-      namespace: {{ .Release.Namespace }}
-      labels:
-        app: adapter-simulated-onu
-        release: {{ .Release.Name }}
-        app.kubernetes.io/name: "adapter-simulated-onu"
-        app.kubernetes.io/version: {{ quote .Chart.AppVersion }}
-        app.kubernetes.io/component: "adapter"
-        app.kubernetes.io/part-of: "voltha"
-        app.kubernetes.io/managed-by: {{ quote .Release.Service }}
-        helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-        {{- if hasKey .Values "extra_pod_labels" }}
-        {{- range $key, $val := .Values.extra_pod_labels }}
-        {{ $key }}: {{ $val | quote }}
-        {{- end }}
-        {{- end }}
-        {{- if hasKey .Values "simonu_pod_labels" }}
-        {{- range $key, $val := .Values.simonu_pod_labels }}
-        {{ $key }}: {{ $val | quote }}
-        {{- end }}
-        {{- end }}
-    spec:
-      {{- if .Values.securityContext.enabled }}
-      securityContext:
-        runAsUser: {{ .Values.securityContext.runAsUser }}
-        runAsGroup: {{ .Values.securityContext.runAsGroup }}
-        fsGroup: {{ .Values.securityContext.fsGroup }}
-      {{- end }}
-      containers:
-        - name: adapter-simulated-onu
-          image: '{{ tpl .Values.images.adapter_simulated_onu.registry . }}{{ tpl .Values.images.adapter_simulated_onu.repository . }}:{{ tpl .Values.images.adapter_simulated_onu.tag . }}'
-          imagePullPolicy: {{ tpl .Values.images.adapter_simulated_onu.pullPolicy . }}
-          args:
-            - "/app/simulated_onu"
-            - "-kafka_adapter_host={{ .Values.services.kafka.adapter.service }}"
-            - "-kafka_adapter_port={{ .Values.services.kafka.adapter.port }}"
-            - "-kafka_cluster_host={{ .Values.services.kafka.cluster.service }}"
-            - "-kafka_cluster_port={{ .Values.services.kafka.cluster.port }}"
-            - "-kv_store_host={{ .Values.services.etcd.service }}"
-            - "-kv_store_port={{ .Values.services.etcd.port }}"
-            - "-core_topic=rwcore"
-            - "-simulator_topic=simulated_onu"
-            - "-probe_port=8080"
-          livenessProbe:
-            httpGet:
-              path: /healthz
-              port: 8080
-            initialDelaySeconds: 10
-            periodSeconds: 5
-          readinessProbe:
-            httpGet:
-              path: /readz
-              port: 8080
-            initialDelaySeconds: 10
-            periodSeconds: 5
diff --git a/voltha-adapter-simulated/values.yaml b/voltha-adapter-simulated/values.yaml
deleted file mode 100644
index e7db00e..0000000
--- a/voltha-adapter-simulated/values.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2019-2023 Open Networking Foundation (ONF) and the ONF Contributors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
----
-nameOverride: ~
-fullNameOverride: ~
-
-# Default overrides
-defaults:
-  image_registry: ""
-  image_org: "voltha/"
-  image_pullPolicy: "Always"
-  image_tag: ~
-
-# Default security context under which the containers run
-securityContext:
-  enabled: true
-  fsGroup: 1001
-  runAsUser: 1001
-  runAsGroup: 1001
-
-# Define connectivity to required services
-services:
-  kafka:
-    adapter:
-      service: voltha-kafka.voltha.svc.cluster.local
-      port: 9092
-    cluster:
-      service: voltha-kafka.voltha.svc.cluster.local
-      port: 9092
-
-  # Define connectivity to etcd
-  etcd:
-    service: voltha-etcd-cluster-client.voltha.svc.cluster.local
-    port: 2379
-
-# Define the recplica count for everything
-replicas:
-  adapter_simulated_olt: 1
-  adapter_simulated_onu: 1
-
-onus_per_pon_port: 4
-
-images:
-  adapter_simulated_olt:
-    registry: '{{ .Values.defaults.image_registry }}'
-    repository: '{{ .Values.defaults.image_org }}voltha-adapter-simulated-olt'
-    tag: '{{- if hasKey .Values.defaults "image_tag" }}{{- if .Values.defaults.image_tag }}{{ .Values.defaults.image_tag }}{{- else }}2.2.3{{- end }}{{- else }}2.2.3{{- end }}'
-    pullPolicy: '{{ .Values.defaults.image_pullPolicy }}'
-
-  adapter_simulated_onu:
-    registry: '{{ .Values.defaults.image_registry }}'
-    repository: '{{ .Values.defaults.image_org }}voltha-adapter-simulated-onu'
-    tag: '{{- if hasKey .Values.defaults "image_tag" }}{{- if .Values.defaults.image_tag }}{{ .Values.defaults.image_tag }}{{- else }}2.2.3{{- end }}{{- else }}2.2.3{{- end }}'
-    pullPolicy: '{{ .Values.defaults.image_pullPolicy }}'
diff --git a/voltha/Chart.yaml b/voltha/Chart.yaml
index 1a5a6dc..05bb6b4 100644
--- a/voltha/Chart.yaml
+++ b/voltha/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha"
-version: "2.12.6"
+version: "2.12.7"
 description: "A Helm chart for Voltha based on K8S resources in Voltha project"
 keywords:
   - "onf"
