diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/Chart.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/Chart.yaml
new file mode 100644
index 0000000..c147ead
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/Chart.yaml
@@ -0,0 +1,21 @@
+---
+# Copyright 2019-present Open Networking Foundation
+#
+# 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: accelleran-cbrs-common
+description: A Helm chart to install Accelleran common to run Accelleran CU on CBRS band
+icon: https://guide.opencord.org/logos/cord.svg
+
+version: 0.1.2
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/_helpers.tpl b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/_helpers.tpl
new file mode 100644
index 0000000..452fb6d
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/_helpers.tpl
@@ -0,0 +1,84 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+*/ -}}
+
+{{/*
+Render a set of standardised label
+*/}}
+{{- define "accelleran-cbrs-common.metadata_labels" -}}
+{{- $application := index . 0 -}}
+{{- $context := index . 1 -}}
+release: {{ $context.Release.Name }}
+app: {{ $application }}
+{{- end -}}
+
+{{/*
+Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
+*/}}
+{{- define "accelleran-cbrs-common.service_account" -}}
+{{- $context := index . 1 -}}
+{{- $saName := index . 0 -}}
+{{- $saNamespace := $context.Release.Namespace }}
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: {{ $saName }}
+  namespace: {{ $saNamespace }}
+  labels:
+{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: RoleBinding
+metadata:
+  name: {{ $saName }}
+  namespace: {{ $saNamespace }}
+  labels:
+{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: {{ $saName }}
+subjects:
+  - kind: ServiceAccount
+    name: {{ $saName }}
+    namespace: {{ $saNamespace }}
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: Role
+metadata:
+  name: {{ $saName }}
+  namespace: {{ $saNamespace }}
+  labels:
+{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+rules:
+  - apiGroups:
+      - ""
+      - extensions
+      - batch
+      - apps
+    verbs:
+      - get
+      - list
+      - patch
+    resources:
+      - statefulsets
+      - daemonsets
+      - jobs
+      - pods
+      - services
+      - endpoints
+      - configmaps
+{{- end -}}
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/configmap-accelleran-cbrs-ric.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/configmap-accelleran-cbrs-ric.yaml
new file mode 100644
index 0000000..38fe7ef
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/configmap-accelleran-cbrs-ric.yaml
@@ -0,0 +1,40 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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
+kind: ConfigMap
+metadata:
+  name: accelleran-cbrs-ric-cm
+  labels:
+{{ tuple "accelleran-cbrs-ric-cm" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+data:
+  bootstrap: |
+    redis.hostname:{{ .Values.config.redis.hostName }}
+    redis.port:{{ .Values.config.redis.ports.redisPort.port }}
+    instance.filter:{{ .Values.config.ric.instanceId }}
+
+  zlog.conf: |
+    [global]
+    strict init = true
+    buffer min = {{ .Values.config.ric.zlogConf.bufferMin }}
+    buffer max = {{ .Values.config.ric.zlogConf.bufferMax }}
+    rotate lock file = /tmp/zlog.lock
+
+    [formats]
+    printf_format = "%d(%b %d %H:%M:%S).%ms %8.8H %m%n"
+    [rules]
+    user.* >stdout ;printf_format
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/job-redis-init.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/job-redis-init.yaml
new file mode 100644
index 0000000..8b96073
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/job-redis-init.yaml
@@ -0,0 +1,71 @@
+{{/*
+Copyright 2019-present Open Networking Foundation
+
+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.
+*/}}
+
+{{/*
+It is the job to flush Redis database
+*/}}
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: job-redis-init
+  labels:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  template:
+    metadata:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
+    spec:
+    {{- if .Values.nodeSelectors.enabled }}
+      nodeSelector:
+        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
+    {{- end }}
+      serviceAccountName: accelleran-cbrs-redis
+      restartPolicy: OnFailure
+      initContainers:
+      - name: accelleran-cbrs-redis-dep-check
+        image: {{ .Values.images.tags.depCheck | quote }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        securityContext:
+          allowPrivilegeEscalation: false
+          readOnlyRootFilesystem: false
+          runAsUser: 0
+        env:
+        - name: POD_NAME
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.name
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        - name: PATH
+          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
+        - name: COMMAND
+          value: "echo done"
+        - name: DEPENDENCY_POD_JSON
+          value: '[{"labels": {"app": "accelleran-cbrs-redis"}, "requireSameNode": false}]'
+      containers:
+      - name: accelleran-cbrs-redis-init
+        image: {{ .Values.images.tags.redisClient }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        command: ["sh", "-c"]
+        args:
+        - redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} flushall;
+          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} set NATS_SERVICE_URL "nat://{{ .Values.config.nats.ip }}:{{ .Values.config.nats.ports.natsPort.nodePort }}";
+          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} keys '*';
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-nats.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-nats.yaml
new file mode 100644
index 0000000..fc5c555
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-nats.yaml
@@ -0,0 +1,61 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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
+kind: Service
+metadata:
+  name: accelleran-cbrs-nats
+  labels:
+{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+  ports:
+  - name: nats-port
+    port: {{ .Values.config.nats.ports.natsPort.port }}
+    protocol: {{ .Values.config.nats.ports.natsPort.protocol }}
+  - name: cluster-port
+    port: {{ .Values.config.nats.ports.clusterPort.port }}
+    protocol: {{ .Values.config.nats.ports.clusterPort.protocol }}
+  - name: console-port
+    port: {{ .Values.config.nats.ports.consolePort.port }}
+    protocol: {{ .Values.config.nats.ports.consolePort.protocol }}
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: accelleran-cbrs-nats-exernal
+  labels:
+{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+  type: NodePort
+  ports:
+  - name: nats-port
+    port: {{ .Values.config.nats.ports.natsPort.port }}
+    nodePort: {{ .Values.config.nats.ports.natsPort.nodePort }}
+    protocol: {{ .Values.config.nats.ports.natsPort.protocol }}
+  - name: cluster-port
+    port: {{ .Values.config.nats.ports.clusterPort.port }}
+    nodePort: {{ .Values.config.nats.ports.clusterPort.nodePort }}
+    protocol: {{ .Values.config.nats.ports.clusterPort.protocol }}
+  - name: console-port
+    port: {{ .Values.config.nats.ports.consolePort.port }}
+    nodePort: {{ .Values.config.nats.ports.consolePort.nodePort }}
+    protocol: {{ .Values.config.nats.ports.consolePort.protocol }}
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-redis.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-redis.yaml
new file mode 100644
index 0000000..6114a12
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-redis.yaml
@@ -0,0 +1,47 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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
+kind: Service
+metadata:
+  name: accelleran-cbrs-redis
+  labels:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+  ports:
+  - name: redis-port
+    port: {{ .Values.config.redis.ports.redisPort.port }}
+    protocol: {{ .Values.config.redis.ports.redisPort.protocol }}
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: accelleran-cbrs-redis-exernal
+  labels:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+  type: NodePort
+  ports:
+  - name: redis-port
+    port: {{ .Values.config.redis.ports.redisPort.port }}
+    nodePort: {{ .Values.config.redis.ports.redisPort.nodePort }}
+    protocol: {{ .Values.config.redis.ports.redisPort.protocol }}
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-ricweb.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-ricweb.yaml
new file mode 100644
index 0000000..4efb470
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-ricweb.yaml
@@ -0,0 +1,47 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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
+kind: Service
+metadata:
+  name: accelleran-cbrs-ricweb
+  labels:
+{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+  ports:
+  - name: ric-web-port
+    port: {{ .Values.config.ricWeb.ports.ricWebPort.port }}
+    protocol: {{ .Values.config.ricWeb.ports.ricWebPort.protocol }}
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: accelleran-cbrs-ricweb-exernal
+  labels:
+{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+  type: NodePort
+  ports:
+  - name: ric-web-port
+    port: {{ .Values.config.ricWeb.ports.ricWebPort.port }}
+    nodePort: {{ .Values.config.ricWeb.ports.ricWebPort.nodePort }}
+    protocol: {{ .Values.config.ricWeb.ports.ricWebPort.protocol }}
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-nats.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-nats.yaml
new file mode 100644
index 0000000..f6b9665
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-nats.yaml
@@ -0,0 +1,48 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+*/ -}}
+{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.service_account" }}
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: accelleran-cbrs-nats
+  labels:
+{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+    matchLabels:
+{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 6 }}
+  serviceName: accelleran-cbrs-nats
+  template:
+    metadata:
+      labels:
+{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
+    spec:
+    {{- if .Values.nodeSelectors.enabled }}
+      nodeSelector:
+        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
+    {{- end }}
+      serviceAccountName: accelleran-cbrs-nats
+      containers:
+      - name: nats
+        image: {{ .Values.images.tags.nats }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        command: ["/entrypoint.sh"]
+        args: ["/usr/bin/gnatsd",  "-c",  "/etc/gnatsd.conf" ]
+        {{- if .Values.resources.enabled }}
+        resources:
+{{ toYaml .Values.resources.accelleranCBRSCommon | indent 10 }}
+        {{- end }}
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-redis.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-redis.yaml
new file mode 100644
index 0000000..9ab90af
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-redis.yaml
@@ -0,0 +1,58 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+*/ -}}
+
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.service_account" }}
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: accelleran-cbrs-redis
+  labels:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+    matchLabels:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 6 }}
+  serviceName: accelleran-cbrs-redis
+  template:
+    metadata:
+      labels:
+{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
+    spec:
+    {{- if .Values.nodeSelectors.enabled }}
+      nodeSelector:
+        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
+    {{- end }}
+      serviceAccountName: accelleran-cbrs-redis
+      containers:
+      - name: redis
+        image: {{ .Values.images.tags.redis }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        command: ["sh", "-c"]
+        args:
+        - /usr/local/bin/redis-server /etc/redis.conf
+        {{- if .Values.resources.enabled }}
+        resources:
+{{ toYaml .Values.resources.accelleranCBRSCommon | indent 10 }}
+        {{- end }}
+        volumeMounts:
+        - mountPath: /data
+          name: redis-data-volume
+      volumes:
+      - name: redis-data-volume
+        hostPath:
+          path: /tmp/redis-storage
+          type: DirectoryOrCreate
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ric.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ric.yaml
new file mode 100644
index 0000000..2fbd5e3
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ric.yaml
@@ -0,0 +1,101 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+*/ -}}
+
+{{ tuple "accelleran-cbrs-ric" . | include "accelleran-cbrs-common.service_account" }}
+
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: accelleran-cbrs-ric
+  labels:
+{{ tuple "accelleran-cbrs-ric" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+    matchLabels:
+{{ tuple "accelleran-cbrs-ric" . | include "accelleran-cbrs-common.metadata_labels" | indent 6 }}
+  serviceName: accelleran-cbrs-ric
+  template:
+    metadata:
+      labels:
+{{ tuple "accelleran-cbrs-ric" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
+    spec:
+    {{- if .Values.nodeSelectors.enabled }}
+      nodeSelector:
+        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
+    {{- end }}
+      serviceAccountName: accelleran-cbrs-ric
+      initContainers:
+      - name: redis-init-dep-check
+        image: {{ .Values.images.tags.depCheck }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        securityContext:
+          allowPrivilegeEscalation: false
+          readOnlyRootFilesystem: false
+          runAsUser: 0
+        env:
+        - name: POD_NAME
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.name
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        - name: PATH
+          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
+        - name: COMMAND
+          value: "echo done"
+        - name: DEPENDENCY_JOBS
+          value: job-redis-init
+      containers:
+      - name: ric
+        image: {{ .Values.images.tags.ric }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        securityContext:
+          privileged: true
+          capabilities:
+            add:
+            - NET_ADMIN
+            - IPC_LOCK
+            - SYS_NICE
+        env:
+        - name: ZLOG_CONF_PATH
+          value: /zlog.conf
+        - name: BOOTSTRAP_FILENAME
+          value: /bootstrap
+        - name: LD_LIBRARY_PATH
+          value: /data/
+        - name: FAP_DB_PATH
+          value: /data/
+        command: ["/data/ric"]
+        {{- if .Values.resources.enabled }}
+        resources:
+{{ toYaml .Values.resources.accelleranCBRSCommon | indent 10 }}
+        {{- end }}
+        volumeMounts:
+        - name: ric-config-volume
+          mountPath: /bootstrap
+          subPath: bootstrap
+        - name: ric-config-volume
+          mountPath: /zlog.conf
+          subPath: zlog.conf
+      volumes:
+      - name: ric-config-volume
+        configMap:
+          name: accelleran-cbrs-ric-cm
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ricweb.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ricweb.yaml
new file mode 100644
index 0000000..28cb015
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ricweb.yaml
@@ -0,0 +1,72 @@
+{{- /*
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+*/ -}}
+
+{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.service_account" }}
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: accelleran-cbrs-ricweb
+  labels:
+{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
+spec:
+  selector:
+    matchLabels:
+{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 6 }}
+  serviceName: accelleran-cbrs-ricweb
+  template:
+    metadata:
+      labels:
+{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
+    spec:
+      serviceAccountName: accelleran-cbrs-ricweb
+    {{- if .Values.nodeSelectors.enabled }}
+      nodeSelector:
+        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
+    {{- end }}
+      initContainers:
+      - name: accelleran-cbrs-ric-dep-check
+        image: {{ .Values.images.tags.depCheck | quote }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        securityContext:
+          allowPrivilegeEscalation: false
+          readOnlyRootFilesystem: false
+          runAsUser: 0
+        env:
+        - name: POD_NAME
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.name
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        - name: PATH
+          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
+        - name: COMMAND
+          value: "echo done"
+        - name: DEPENDENCY_POD_JSON
+          value: '[{"labels": {"app": "accelleran-cbrs-ric"}, "requireSameNode": false}]'
+
+      containers:
+      - name: ric-web
+        image: {{ .Values.images.tags.ricWeb }}
+        imagePullPolicy: {{ .Values.images.pullPolicy }}
+        env:
+        - name: NATS_URL
+          value: {{ .Values.config.nats.url | quote }}
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/values.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/values.yaml
new file mode 100644
index 0000000..3a44245
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/values.yaml
@@ -0,0 +1,76 @@
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+
+images:
+  tags:
+    initCU: docker.io/omecproject/pod-init:1.0.0
+    nats: registry.aether.opennetworking.org/aether/accelleran-cu-nats:v1.0.0
+    redis: registry.aether.opennetworking.org/aether/accelleran-cu-redis:v1.0.0
+    redisClient: docker.io/redis:5.0.6-alpine3.10
+    ric: registry.aether.opennetworking.org/aether/accelleran-cu-ric:v1.0.0
+    ricWeb: registry.aether.opennetworking.org/aether/accelleran-cu-ricweb:v1.0.0
+    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
+  pullPolicy: IfNotPresent
+
+nodeSelectors:
+  enabled: false
+  accelleranCBRSCommon:
+    label: accelleran-cbrs-common
+    value: enabled
+
+resources:
+  enabled: true
+  accelleranCBRSCommon:
+    requests:
+      cpu: 3
+      memory: 1Gi
+    limits:
+      cpu: 3
+      memory: 1Gi
+
+config:
+  nats:
+    url: accelleran-cbrs-nats:4222
+    ip: 119.0.0.30 # Node IP address of nats -- for accessing through NodePort
+    ports:
+      natsPort:
+        port: 4222
+        nodePort: 31000
+        protocol: TCP
+      clusterPort:
+        port: 6222
+        nodePort: 31001
+        protocol: TCP
+      consolePort:
+        port: 8222
+        nodePort: 31002
+        protocol: TCP
+  redis:
+    hostName: accelleran-cbrs-redis
+    ports:
+      redisPort:
+        port: 6379
+        nodePort: 32000
+        protocol: TCP
+  ric:
+    zlogConf:
+      bufferMin: 64K
+      bufferMax: 64K
+    instanceId: ONFRIC001
+  ricWeb:
+    ports:
+      ricWebPort:
+        port: 8080
+        nodePort: 30000
+        protocol: TCP
