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 deployment3 := &appsv1.Deployment{
\r
299 ObjectMeta: metav1.ObjectMeta{
\r
300 Namespace: "ricplt",
\r
301 Labels: map[string]string{
\r
302 "app": "ricplt-appmgr",
\r
303 "chart": "appmgr-3.0.0",
\r
304 "heritage": "Helm",
\r
305 "release": "release-name",
\r
307 Name: "deployment-ricplt-appmgr",
\r
309 Spec: appsv1.DeploymentSpec{
\r
310 Template: corev1.PodTemplateSpec{
\r
311 ObjectMeta: metav1.ObjectMeta{
\r
312 Labels: map[string]string{
\r
313 "app": "ricplt-appmgr",
\r
314 "release": "release-name",
\r
317 Spec: corev1.PodSpec{
\r
318 Containers: []corev1.Container{
\r
322 VolumeMounts: []corev1.VolumeMount{
\r
324 corev1.VolumeMount{
\r
325 MountPath: "/opt/ric/config/appmgr.yaml",
\r
326 Name: "config-volume",
\r
328 SubPath: "appmgr.yaml",
\r
330 corev1.VolumeMount{
\r
331 MountPath: "/opt/ric/secret",
\r
332 Name: "helm-secret-volume",
\r
335 corev1.VolumeMount{
\r
337 SubPath: "helm_repo_username",
\r
338 MountPath: "/opt/ric/secret/helm_repo_username",
\r
339 Name: "secret-volume",
\r
341 corev1.VolumeMount{
\r
342 SubPath: "helm_repo_password",
\r
343 MountPath: "/opt/ric/secret/helm_repo_password",
\r
344 Name: "secret-volume",
\r
348 EnvFrom: []corev1.EnvFromSource{
\r
350 corev1.EnvFromSource{
\r
351 ConfigMapRef: &corev1.ConfigMapEnvSource{
\r
352 LocalObjectReference: corev1.LocalObjectReference{
\r
353 Name: "configmap-ricplt-appmgr-env",
\r
357 corev1.EnvFromSource{
\r
358 ConfigMapRef: &corev1.ConfigMapEnvSource{
\r
359 LocalObjectReference: corev1.LocalObjectReference{
\r
360 Name: "configmap-ricplt-dbaas-appconfig",
\r
365 ImagePullPolicy: corev1.PullPolicy("IfNotPresent"),
\r
366 Name: "container-ricplt-appmgr",
\r
368 Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-plt-appmgr:0.2.0",
\r
369 Ports: []corev1.ContainerPort{
\r
371 corev1.ContainerPort{
\r
372 ContainerPort: 8080,
\r
374 Protocol: corev1.Protocol("TCP"),
\r
376 corev1.ContainerPort{
\r
377 Protocol: corev1.Protocol("TCP"),
\r
378 ContainerPort: 4561,
\r
381 corev1.ContainerPort{
\r
382 ContainerPort: 4560,
\r
384 Protocol: corev1.Protocol("TCP"),
\r
392 Hostname: "appmgr",
\r
393 RestartPolicy: corev1.RestartPolicy("Always"),
\r
394 ServiceAccountName: "svcacct-ricplt-appmgr",
\r
395 Volumes: []corev1.Volume{
\r
398 Name: "config-volume",
\r
399 VolumeSource: corev1.VolumeSource{
\r
400 ConfigMap: &corev1.ConfigMapVolumeSource{
\r
401 LocalObjectReference: corev1.LocalObjectReference{
\r
402 Name: "configmap-ricplt-appmgr-appconfig",
\r
408 Name: "secret-volume",
\r
409 VolumeSource: corev1.VolumeSource{
\r
410 Secret: &corev1.SecretVolumeSource{
\r
411 SecretName: "secret-ricplt-appmgr",
\r
416 Name: "helm-secret-volume",
\r
419 Name: "appmgr-bin-volume",
\r
420 VolumeSource: corev1.VolumeSource{
\r
421 ConfigMap: &corev1.ConfigMapVolumeSource{
\r
422 DefaultMode: int32Ptr(493),
\r
423 LocalObjectReference: corev1.LocalObjectReference{
\r
424 Name: "configmap-ricplt-appmgr-bin",
\r
430 HostNetwork: false,
\r
431 ImagePullSecrets: []corev1.LocalObjectReference{
\r
433 corev1.LocalObjectReference{
\r
434 Name: "secret-nexus3-o-ran-sc-org-10002-o-ran-sc",
\r
437 InitContainers: []corev1.Container{
\r
440 Env: []corev1.EnvVar{
\r
443 Name: "SVCACCT_NAME",
\r
444 Value: "svcacct-ricplt-appmgr",
\r
447 Name: "CLUSTER_NAME",
\r
448 Value: "kubernetes",
\r
451 Name: "KUBECONFIG",
\r
452 Value: "/tmp/kubeconfig",
\r
455 Name: "K8S_API_HOST",
\r
456 Value: "https://kubernetes.default.svc.cluster.local/",
\r
459 Name: "SECRET_NAMESPACE",
\r
463 Name: "SECRET_NAME",
\r
464 Value: "ricxapp-helm-secret",
\r
467 Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/it-dep-init:0.0.1",
\r
468 Name: "container-ricplt-appmgr-copy-tiller-secret",
\r
472 VolumeMounts: []corev1.VolumeMount{
\r
474 corev1.VolumeMount{
\r
475 Name: "helm-secret-volume",
\r
477 MountPath: "/opt/ric/secret",
\r
479 corev1.VolumeMount{
\r
480 MountPath: "/svcacct-to-kubeconfig.sh",
\r
481 Name: "appmgr-bin-volume",
\r
483 SubPath: "svcacct-to-kubeconfig.sh",
\r
485 corev1.VolumeMount{
\r
487 SubPath: "appmgr-tiller-secret-copier.sh",
\r
488 MountPath: "/appmgr-tiller-secret-copier.sh",
\r
489 Name: "appmgr-bin-volume",
\r
494 "/appmgr-tiller-secret-copier.sh",
\r
496 EnvFrom: []corev1.EnvFromSource{
\r
498 corev1.EnvFromSource{
\r
499 ConfigMapRef: &corev1.ConfigMapEnvSource{
\r
500 LocalObjectReference: corev1.LocalObjectReference{
\r
501 Name: "configmap-ricplt-appmgr-env",
\r
506 ImagePullPolicy: corev1.PullPolicy("IfNotPresent"),
\r
512 Replicas: int32Ptr(1),
\r
513 Selector: &metav1.LabelSelector{
\r
514 MatchLabels: map[string]string{
\r
515 "release": "release-name",
\r
516 "app": "ricplt-appmgr",
\r
520 TypeMeta: metav1.TypeMeta{
\r
521 APIVersion: "apps/v1",
\r
522 Kind: "Deployment",
\r
526 return []*appsv1.Deployment{deployment1, deployment2,deployment3}
\r