Added deployment for A1. 26/12126/2
authornaman.gupta <naman.gupta@samsung.com>
Mon, 27 Nov 2023 09:19:04 +0000 (14:49 +0530)
committerThoralf Czichy <thoralf.czichy@nokia.com>
Thu, 7 Dec 2023 09:18:09 +0000 (09:18 +0000)
Added deployment for A1.

Change-Id: I76675862de756d2a4b15c624be01360df3eee119
Signed-off-by: naman.gupta <naman.gupta@samsung.com>
depRicKubernetesOperator/internal/controller/getDeployment.go [new file with mode: 0644]

diff --git a/depRicKubernetesOperator/internal/controller/getDeployment.go b/depRicKubernetesOperator/internal/controller/getDeployment.go
new file mode 100644 (file)
index 0000000..7b250d2
--- /dev/null
@@ -0,0 +1,155 @@
+package controller\r
+\r
+import (\r
+       appsv1 "k8s.io/api/apps/v1"\r
+       corev1 "k8s.io/api/core/v1"\r
+       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
+       "k8s.io/apimachinery/pkg/util/intstr"\r
+)\r
+\r
+func int32Ptr(val int) *int32 {\r
+       var a int32\r
+       a = int32(val)\r
+       return &a\r
+}\r
+\r
+func GetDeployment() []*appsv1.Deployment {\r
+\r
+       deployment1 := &appsv1.Deployment{\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Labels: map[string]string{\r
+                               "heritage": "Helm",\r
+                               "release":  "release-name",\r
+                               "app":      "ricplt-a1mediator",\r
+                               "chart":    "a1mediator-3.0.0",\r
+                       },\r
+                       Name:      "deployment-ricplt-a1mediator",\r
+                       Namespace: "ricplt",\r
+               },\r
+               Spec: appsv1.DeploymentSpec{\r
+                       Paused:   false,\r
+                       Replicas: int32Ptr(1),\r
+                       Selector: &metav1.LabelSelector{\r
+                               MatchLabels: map[string]string{\r
+                                       "app":     "ricplt-a1mediator",\r
+                                       "release": "release-name",\r
+                               },\r
+                       },\r
+                       Template: corev1.PodTemplateSpec{\r
+                               ObjectMeta: metav1.ObjectMeta{\r
+                                       Labels: map[string]string{\r
+                                               "release": "release-name",\r
+                                               "app":     "ricplt-a1mediator",\r
+                                       },\r
+                               },\r
+                               Spec: corev1.PodSpec{\r
+                                       HostPID:  false,\r
+                                       Hostname: "a1mediator",\r
+                                       ImagePullSecrets: []corev1.LocalObjectReference{\r
+\r
+                                               corev1.LocalObjectReference{\r
+                                                       Name: "secret-nexus3-o-ran-sc-org-10002-o-ran-sc",\r
+                                               },\r
+                                       },\r
+                                       Volumes: []corev1.Volume{\r
+\r
+                                               corev1.Volume{\r
+                                                       Name: "a1conf",\r
+                                                       VolumeSource: corev1.VolumeSource{\r
+                                                               ConfigMap: &corev1.ConfigMapVolumeSource{\r
+                                                                       LocalObjectReference: corev1.LocalObjectReference{\r
+                                                                               Name: "configmap-ricplt-a1mediator-a1conf",\r
+                                                                       },\r
+                                                               },\r
+                                                       },\r
+                                               },\r
+                                       },\r
+                                       Containers: []corev1.Container{\r
+\r
+                                               corev1.Container{\r
+                                                       ImagePullPolicy: corev1.PullPolicy("IfNotPresent"),\r
+                                                       LivenessProbe: &corev1.Probe{\r
+                                                               ProbeHandler: corev1.ProbeHandler{\r
+                                                                       HTTPGet: &corev1.HTTPGetAction{\r
+                                                                               Path: "/a1-p/healthcheck",\r
+                                                                               Port: intstr.IntOrString{\r
+                                                                                       StrVal: "http",\r
+                                                                                       Type:   intstr.Type(1),\r
+                                                                               },\r
+                                                                       },\r
+                                                               },\r
+                                                       },\r
+                                                       Name: "container-ricplt-a1mediator",\r
+                                                       Ports: []corev1.ContainerPort{\r
+\r
+                                                               corev1.ContainerPort{\r
+                                                                       ContainerPort: 10000,\r
+                                                                       Name:          "http",\r
+                                                                       Protocol:      corev1.Protocol("TCP"),\r
+                                                               },\r
+                                                               corev1.ContainerPort{\r
+                                                                       ContainerPort: 4561,\r
+                                                                       Name:          "rmrroute",\r
+                                                                       Protocol:      corev1.Protocol("TCP"),\r
+                                                               },\r
+                                                               corev1.ContainerPort{\r
+                                                                       ContainerPort: 4562,\r
+                                                                       Name:          "rmrdata",\r
+                                                                       Protocol:      corev1.Protocol("TCP"),\r
+                                                               },\r
+                                                       },\r
+                                                       Stdin:     false,\r
+                                                       StdinOnce: false,\r
+                                                       TTY:       false,\r
+                                                       EnvFrom: []corev1.EnvFromSource{\r
+\r
+                                                               corev1.EnvFromSource{\r
+                                                                       ConfigMapRef: &corev1.ConfigMapEnvSource{\r
+                                                                               LocalObjectReference: corev1.LocalObjectReference{\r
+                                                                                       Name: "configmap-ricplt-a1mediator-env",\r
+                                                                               },\r
+                                                                       },\r
+                                                               },\r
+                                                               corev1.EnvFromSource{\r
+                                                                       ConfigMapRef: &corev1.ConfigMapEnvSource{\r
+                                                                               LocalObjectReference: corev1.LocalObjectReference{\r
+                                                                                       Name: "configmap-ricplt-dbaas-appconfig",\r
+                                                                               },\r
+                                                                       },\r
+                                                               },\r
+                                                       },\r
+                                                       Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-plt-a1:2.5.0",\r
+                                                       ReadinessProbe: &corev1.Probe{\r
+                                                               ProbeHandler: corev1.ProbeHandler{\r
+                                                                       HTTPGet: &corev1.HTTPGetAction{\r
+                                                                               Path: "/a1-p/healthcheck",\r
+                                                                               Port: intstr.IntOrString{\r
+                                                                                       StrVal: "http",\r
+                                                                                       Type:   intstr.Type(1),\r
+                                                                               },\r
+                                                                       },\r
+                                                               },\r
+                                                       },\r
+                                                       VolumeMounts: []corev1.VolumeMount{\r
+\r
+                                                               corev1.VolumeMount{\r
+                                                                       MountPath: "/opt/route",\r
+                                                                       Name:      "a1conf",\r
+                                                                       ReadOnly:  false,\r
+                                                               },\r
+                                                       },\r
+                                               },\r
+                                       },\r
+                                       HostIPC:     false,\r
+                                       HostNetwork: false,\r
+                               },\r
+                       },\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "apps/v1",\r
+                       Kind:       "Deployment",\r
+               },\r
+       }\r
+\r
+       return []*appsv1.Deployment{deployment1}\r
+}\r