--- /dev/null
+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