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