[EDGEPOD-52] Initial version of RAN-CU Helm chart for Aether

Change-Id: Ie5c380ec70d0d4d97c87f1a176169320a779e5ad
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..8145f59
--- /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.0
\ 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..fece85e
--- /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:accelleran-cbrs-redis
+    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..5a961b8
--- /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 accelleran-cbrs-redis -p {{ .Values.config.redis.ports.redisPort.port }} flushall;
+          redis-cli -h accelleran-cbrs-redis -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 accelleran-cbrs-redis -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..89dda71
--- /dev/null
+++ b/ran/accelleran-cbrs/accelleran-cbrs-common/values.yaml
@@ -0,0 +1,75 @@
+# 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:
+    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