Add Capifcore helm charts

Issue-ID: NONRTRIC-819
Change-Id: I085e3d77914f51450264676c558db1dbb430b7d8
Signed-off-by: aravind.est <aravindhan.a@est.tech>
diff --git a/nonrtric/RECIPE_EXAMPLE/example_recipe.yaml b/nonrtric/RECIPE_EXAMPLE/example_recipe.yaml
index 6e3b84e..f3c5c8d 100644
--- a/nonrtric/RECIPE_EXAMPLE/example_recipe.yaml
+++ b/nonrtric/RECIPE_EXAMPLE/example_recipe.yaml
@@ -340,3 +340,14 @@
       oru_to_odu_map_file: "o-ru-to-o-du-map.csv"
       log_level: "Info"
 
+
+capifcore:
+  capifcore:
+    imagePullPolicy: IfNotPresent
+    image:
+      registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
+      name: nonrtric-plt-capifcore
+      tag: 1.0.0
+    env:
+      chart_museum_url: "http://chartmuseum:8080"
+      repo_name: "capifcore"
\ No newline at end of file
diff --git a/nonrtric/helm/capifcore/Chart.yaml b/nonrtric/helm/capifcore/Chart.yaml
new file mode 100644
index 0000000..903a20c
--- /dev/null
+++ b/nonrtric/helm/capifcore/Chart.yaml
@@ -0,0 +1,21 @@
+################################################################################
+#   Copyright (c) 2022 Nordix 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
+appVersion: "2.0.0"
+description: A Helm chart for CAPIF core
+name: capifcore
+version: 1.0.0
diff --git a/nonrtric/helm/capifcore/requirements.yaml b/nonrtric/helm/capifcore/requirements.yaml
new file mode 100644
index 0000000..25a3e89
--- /dev/null
+++ b/nonrtric/helm/capifcore/requirements.yaml
@@ -0,0 +1,20 @@
+################################################################################
+#   Copyright (c) 2022 Nordix 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.                                             #
+################################################################################
+
+dependencies:
+  - name: nonrtric-common
+    version: ^2.0.0
+    repository: "@local"
diff --git a/nonrtric/helm/capifcore/templates/deployment.yaml b/nonrtric/helm/capifcore/templates/deployment.yaml
new file mode 100644
index 0000000..ea499a3
--- /dev/null
+++ b/nonrtric/helm/capifcore/templates/deployment.yaml
@@ -0,0 +1,57 @@
+################################################################################
+#   Copyright (c) 2022 Nordix 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.                                             #
+################################################################################
+
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+  name: {{ include "common.name.capifcore" . }}
+  namespace: {{ include "common.namespace.nonrtric" . }}
+  generation: 1
+  labels:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.capifcore" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    deployment.kubernetes.io/revision: '1'
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.capifcore" . }}
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.capifcore" . }}
+        release: {{ .Release.Name }}
+    spec:
+      hostname: {{ include "common.name.capifcore" . }}
+      containers:
+      - name: {{ include "common.container.capifcore" . }}
+        image: {{ .Values.capifcore.image.registry }}/{{ .Values.capifcore.image.name }}:{{ .Values.capifcore.image.tag }}
+        imagePullPolicy: {{ .Values.capifcore.imagePullPolicy }}
+        args:
+            [
+              "-chartMuseumUrl",
+              "{{ .Values.capifcore.env.chart_museum_url }}",
+              "-repoName",
+              "{{ .Values.capifcore.env.repo_name }}"
+            ]
+        ports:
+        - containerPort: 8090
+          protocol: TCP
+
diff --git a/nonrtric/helm/capifcore/templates/service.yaml b/nonrtric/helm/capifcore/templates/service.yaml
new file mode 100644
index 0000000..568264c
--- /dev/null
+++ b/nonrtric/helm/capifcore/templates/service.yaml
@@ -0,0 +1,38 @@
+################################################################################
+#   Copyright (c) 2022 Nordix 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.                                             #
+################################################################################
+
+kind: Service
+apiVersion: v1
+metadata:
+  name: {{ include "common.name.capifcore" . }}
+  namespace: {{ include "common.namespace.nonrtric" . }}
+  labels:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.capifcore" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  ports:
+    {{if eq .Values.capifcore.service.allowHttp true -}}
+    - name: {{ index .Values.capifcore.service.httpName }}
+      port: {{ .Values.capifcore.service.port }}
+      targetPort: {{ .Values.capifcore.service.targetPort }}
+      protocol: TCP
+    {{- end }}
+  selector:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.capifcore" . }}
+    release: {{ .Release.Name }}
+  type: ClusterIP
diff --git a/nonrtric/helm/capifcore/values.yaml b/nonrtric/helm/capifcore/values.yaml
new file mode 100644
index 0000000..70798f2
--- /dev/null
+++ b/nonrtric/helm/capifcore/values.yaml
@@ -0,0 +1,34 @@
+################################################################################
+#   Copyright (c) 2022 Nordix 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.                                             #
+################################################################################
+
+# Default values for CAPIF core.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+capifcore:
+  imagePullPolicy: IfNotPresent
+  image:
+    registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
+    name: nonrtric-plt-capifcore
+    tag: 1.0.0
+  service:
+    httpName: http
+    allowHttp: true
+    port: 8090
+    targetPort: 8090
+  env:
+    chart_museum_url: "http://chartmuseum:8080"
+    repo_name: "capifcore"
diff --git a/nonrtric/helm/nonrtric/Chart.yaml b/nonrtric/helm/nonrtric/Chart.yaml
index bb2a24a..4758e5f 100644
--- a/nonrtric/helm/nonrtric/Chart.yaml
+++ b/nonrtric/helm/nonrtric/Chart.yaml
@@ -84,3 +84,8 @@
     version: ~1.0.0
     repository: "@local"
     condition: nonrtric.installOrufhrecovery
+
+  - name: capifcore
+    version: ~1.0.0
+    repository: "@local"
+    condition: nonrtric.installCapifcore
diff --git a/nonrtric/helm/nonrtric/values.yaml b/nonrtric/helm/nonrtric/values.yaml
index e936b13..c6e857c 100644
--- a/nonrtric/helm/nonrtric/values.yaml
+++ b/nonrtric/helm/nonrtric/values.yaml
@@ -27,6 +27,7 @@
   installHelmmanager: true
   installOrufhrecovery: true
   installRansliceassurance: true
+  installCapifcore: true
 
   volume1:
     size: 1Gi