4 appsv1 "k8s.io/api/apps/v1"
\r
5 corev1 "k8s.io/api/core/v1"
\r
6 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
\r
7 "k8s.io/apimachinery/pkg/util/intstr"
\r
10 func int32Ptr(val int) *int32 {
\r
16 func GetDeployment() []*appsv1.Deployment {
\r
18 deployment1 := &appsv1.Deployment{
\r
19 ObjectMeta: metav1.ObjectMeta{
\r
20 Labels: map[string]string{
\r
22 "release": "release-name",
\r
23 "app": "ricplt-a1mediator",
\r
24 "chart": "a1mediator-3.0.0",
\r
26 Name: "deployment-ricplt-a1mediator",
\r
27 Namespace: "ricplt",
\r
29 Spec: appsv1.DeploymentSpec{
\r
31 Replicas: int32Ptr(1),
\r
32 Selector: &metav1.LabelSelector{
\r
33 MatchLabels: map[string]string{
\r
34 "app": "ricplt-a1mediator",
\r
35 "release": "release-name",
\r
38 Template: corev1.PodTemplateSpec{
\r
39 ObjectMeta: metav1.ObjectMeta{
\r
40 Labels: map[string]string{
\r
41 "release": "release-name",
\r
42 "app": "ricplt-a1mediator",
\r
45 Spec: corev1.PodSpec{
\r
47 Hostname: "a1mediator",
\r
48 ImagePullSecrets: []corev1.LocalObjectReference{
\r
50 corev1.LocalObjectReference{
\r
51 Name: "secret-nexus3-o-ran-sc-org-10002-o-ran-sc",
\r
54 Volumes: []corev1.Volume{
\r
58 VolumeSource: corev1.VolumeSource{
\r
59 ConfigMap: &corev1.ConfigMapVolumeSource{
\r
60 LocalObjectReference: corev1.LocalObjectReference{
\r
61 Name: "configmap-ricplt-a1mediator-a1conf",
\r
67 Containers: []corev1.Container{
\r
70 ImagePullPolicy: corev1.PullPolicy("IfNotPresent"),
\r
71 LivenessProbe: &corev1.Probe{
\r
72 ProbeHandler: corev1.ProbeHandler{
\r
73 HTTPGet: &corev1.HTTPGetAction{
\r
74 Path: "/a1-p/healthcheck",
\r
75 Port: intstr.IntOrString{
\r
77 Type: intstr.Type(1),
\r
82 Name: "container-ricplt-a1mediator",
\r
83 Ports: []corev1.ContainerPort{
\r
85 corev1.ContainerPort{
\r
86 ContainerPort: 10000,
\r
88 Protocol: corev1.Protocol("TCP"),
\r
90 corev1.ContainerPort{
\r
91 ContainerPort: 4561,
\r
93 Protocol: corev1.Protocol("TCP"),
\r
95 corev1.ContainerPort{
\r
96 ContainerPort: 4562,
\r
98 Protocol: corev1.Protocol("TCP"),
\r
104 EnvFrom: []corev1.EnvFromSource{
\r
106 corev1.EnvFromSource{
\r
107 ConfigMapRef: &corev1.ConfigMapEnvSource{
\r
108 LocalObjectReference: corev1.LocalObjectReference{
\r
109 Name: "configmap-ricplt-a1mediator-env",
\r
113 corev1.EnvFromSource{
\r
114 ConfigMapRef: &corev1.ConfigMapEnvSource{
\r
115 LocalObjectReference: corev1.LocalObjectReference{
\r
116 Name: "configmap-ricplt-dbaas-appconfig",
\r
121 Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-plt-a1:2.5.0",
\r
122 ReadinessProbe: &corev1.Probe{
\r
123 ProbeHandler: corev1.ProbeHandler{
\r
124 HTTPGet: &corev1.HTTPGetAction{
\r
125 Path: "/a1-p/healthcheck",
\r
126 Port: intstr.IntOrString{
\r
128 Type: intstr.Type(1),
\r
133 VolumeMounts: []corev1.VolumeMount{
\r
135 corev1.VolumeMount{
\r
136 MountPath: "/opt/route",
\r
144 HostNetwork: false,
\r
148 TypeMeta: metav1.TypeMeta{
\r
149 APIVersion: "apps/v1",
\r
150 Kind: "Deployment",
\r
154 deployment2 := &appsv1.Deployment{
\r
155 Spec: appsv1.DeploymentSpec{
\r
157 Replicas: int32Ptr(1),
\r
158 Selector: &metav1.LabelSelector{
\r
159 MatchLabels: map[string]string{
\r
160 "release": "release-name",
\r
161 "app": "ricplt-alarmmanager",
\r
164 Template: corev1.PodTemplateSpec{
\r
165 ObjectMeta: metav1.ObjectMeta{
\r
166 Labels: map[string]string{
\r
167 "app": "ricplt-alarmmanager",
\r
168 "release": "release-name",
\r
171 Spec: corev1.PodSpec{
\r
173 HostNetwork: false,
\r
175 Hostname: "alarmmanager",
\r
176 ImagePullSecrets: []corev1.LocalObjectReference{
\r
178 corev1.LocalObjectReference{
\r
179 Name: "secret-nexus3-o-ran-sc-org-10002-o-ran-sc",
\r
182 ServiceAccountName: "svcacct-ricplt-alarmmanager",
\r
183 Volumes: []corev1.Volume{
\r
186 Name: "config-volume",
\r
187 VolumeSource: corev1.VolumeSource{
\r
188 ConfigMap: &corev1.ConfigMapVolumeSource{
\r
189 Items: []corev1.KeyToPath{
\r
192 Mode: int32Ptr(420),
\r
193 Path: "config-file.json",
\r
194 Key: "alarmmanagercfg",
\r
197 LocalObjectReference: corev1.LocalObjectReference{
\r
198 Name: "configmap-ricplt-alarmmanager-alarmmanagercfg",
\r
204 Name: "am-persistent-storage",
\r
205 VolumeSource: corev1.VolumeSource{
\r
206 PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{
\r
207 ClaimName: "pvc-ricplt-alarmmanager",
\r
213 Containers: []corev1.Container{
\r
216 Ports: []corev1.ContainerPort{
\r
218 corev1.ContainerPort{
\r
219 ContainerPort: 4561,
\r
221 Protocol: corev1.Protocol("TCP"),
\r
223 corev1.ContainerPort{
\r
224 ContainerPort: 4560,
\r
226 Protocol: corev1.Protocol("TCP"),
\r
228 corev1.ContainerPort{
\r
229 ContainerPort: 8080,
\r
231 Protocol: corev1.Protocol("TCP"),
\r
236 VolumeMounts: []corev1.VolumeMount{
\r
238 corev1.VolumeMount{
\r
240 Name: "config-volume",
\r
243 corev1.VolumeMount{
\r
244 Name: "am-persistent-storage",
\r
246 MountPath: "/mnt/pv-ricplt-alarmmanager",
\r
249 Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-plt-alarmmanager:0.5.9",
\r
250 ImagePullPolicy: corev1.PullPolicy("IfNotPresent"),
\r
251 Name: "container-ricplt-alarmmanager",
\r
252 Env: []corev1.EnvVar{
\r
255 Name: "PLT_NAMESPACE",
\r
259 EnvFrom: []corev1.EnvFromSource{
\r
261 corev1.EnvFromSource{
\r
262 ConfigMapRef: &corev1.ConfigMapEnvSource{
\r
263 LocalObjectReference: corev1.LocalObjectReference{
\r
264 Name: "configmap-ricplt-dbaas-appconfig",
\r
268 corev1.EnvFromSource{
\r
269 ConfigMapRef: &corev1.ConfigMapEnvSource{
\r
270 LocalObjectReference: corev1.LocalObjectReference{
\r
271 Name: "configmap-ricplt-alarmmanager-env",
\r
282 TypeMeta: metav1.TypeMeta{
\r
283 APIVersion: "apps/v1",
\r
284 Kind: "Deployment",
\r
286 ObjectMeta: metav1.ObjectMeta{
\r
287 Namespace: "ricplt",
\r
288 Labels: map[string]string{
\r
289 "chart": "alarmmanager-5.0.0",
\r
290 "heritage": "Helm",
\r
291 "release": "release-name",
\r
292 "app": "ricplt-alarmmanager",
\r
294 Name: "deployment-ricplt-alarmmanager",
\r
298 return []*appsv1.Deployment{deployment1, deployment2}
\r