Adding configmap changes for xapp. 25/12025/1
authornaman.gupta <naman.gupta@samsung.com>
Wed, 8 Nov 2023 13:42:44 +0000 (19:12 +0530)
committernaman.gupta <naman.gupta@samsung.com>
Wed, 8 Nov 2023 13:42:44 +0000 (19:12 +0530)
Adding configmap structures changes for xapp.

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

diff --git a/xappKubernetesOperator/internal/controller/getConfigmap.go b/xappKubernetesOperator/internal/controller/getConfigmap.go
new file mode 100644 (file)
index 0000000..f53c65d
--- /dev/null
@@ -0,0 +1,586 @@
+package controller\r
+\r
+import (\r
+       corev1 "k8s.io/api/core/v1"\r
+       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
+)\r
+\r
+func GetConfigMap() []*corev1.ConfigMap {\r
+\r
+       configMap1 := &corev1.ConfigMap{\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "v1",\r
+                       Kind:       "ConfigMap",\r
+               },\r
+               Data: map[string]string{\r
+                       "schema.json": "{\n" +\r
+                               "    \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n" +\r
+                               "    \"$id\": \"http://o-ran-sc.org/xapp_root.json\",\n" +\r
+                               "    \"type\": \"object\",\n" +\r
+                               "    \"title\": \"The xApp Root Schema\",\n" +\r
+                               "    \"properties\": {\n" +\r
+                               "        \"name\": {\n" +\r
+                               "            \"$id\": \"#/properties/name\",\n" +\r
+                               "            \"type\": \"string\",\n" +\r
+                               "            \"title\": \"The xApp Name\",\n" +\r
+                               "            \"default\": \"xapp\",\n" +\r
+                               "            \"examples\": [\n" +\r
+                               "                \"example_xapp\"\n" +\r
+                               "            ]\n" +\r
+                               "        },\n" +\r
+                               "        \"version\": {\n" +\r
+                               "            \"$id\": \"#/properties/version\",\n" +\r
+                               "            \"type\": \"string\",\n" +\r
+                               "            \"title\": \"The xApp version\",\n" +\r
+                               "            \"default\": \"1.0.0\",\n" +\r
+                               "            \"examples\": [\n" +\r
+                               "                \"1.0.0\"\n" +\r
+                               "            ],\n" +\r
+                               "            \"pattern\": \"^(0|[1-9]\\\\d*)\\\\.(0|[1-9]\\\\d*)\\\\.(0|[1-9]\\\\d*)(?:-((?:0|[1-9]\\\\d*|\\\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\\\.(?:0|[1-9]\\\\d*|\\\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\\\+([0-9a-zA-Z-]+(?:\\\\.[0-9a-zA-Z-]+)*))?$\"\n" +\r
+                               "        },\n" +\r
+                               "        \"annotations\": {\n" +\r
+                               "            \"$id\": \"#/properties/annotation\",\n" +\r
+                               "            \"type\": \"object\",\n" +\r
+                               "            \"title\": \"The k8s pod annotation\",\n" +\r
+                               "            \"additionalProperties\": {\n" +\r
+                               "                \"anyOf\": [\n" +\r
+                               "                    {\n" +\r
+                               "                        \"type\": \"string\"\n" +\r
+                               "                    },\n" +\r
+                               "                    {\n" +\r
+                               "                        \"type\": \"array\",\n" +\r
+                               "                        \"items\": {\n" +\r
+                               "                            \"type\": \"object\"\n" +\r
+                               "                        }\n" +\r
+                               "                    }\n" +\r
+                               "                ]\n" +\r
+                               "            }\n" +\r
+                               "        },\n" +\r
+                               "        \"containers\": {\n" +\r
+                               "            \"$id\": \"#/properties/containers\",\n" +\r
+                               "            \"type\": \"array\",\n" +\r
+                               "            \"title\": \"The Container Schema\",\n" +\r
+                               "            \"items\": {\n" +\r
+                               "                \"$id\": \"#/properties/containers/items\",\n" +\r
+                               "                \"type\": \"object\",\n" +\r
+                               "                \"title\": \"The Container Items Schema\",\n" +\r
+                               "                \"required\": [\n" +\r
+                               "                    \"name\",\n" +\r
+                               "                    \"image\"\n" +\r
+                               "                ],\n" +\r
+                               "                \"properties\": {\n" +\r
+                               "                    \"name\": {\n" +\r
+                               "                        \"$id\": \"#/properties/containers/items/properties/name\",\n" +\r
+                               "                        \"type\": \"string\",\n" +\r
+                               "                        \"title\": \"The xApp Container Name\",\n" +\r
+                               "                        \"default\": \"xapp\",\n" +\r
+                               "                        \"examples\": [\n" +\r
+                               "                            \"xapp\"\n" +\r
+                               "                        ]\n" +\r
+                               "                    },\n" +\r
+                               "                    \"image\": {\n" +\r
+                               "                        \"$id\": \"#/properties/containers/items/properties/image\",\n" +\r
+                               "                        \"type\": \"object\",\n" +\r
+                               "                        \"title\": \"The Container Image\",\n" +\r
+                               "                        \"required\": [\n" +\r
+                               "                            \"registry\",\n" +\r
+                               "                            \"name\",\n" +\r
+                               "                            \"tag\"\n" +\r
+                               "                        ],\n" +\r
+                               "                        \"properties\": {\n" +\r
+                               "                            \"registry\": {\n" +\r
+                               "                                \"$id\": \"#/properties/containers/items/properties/image/properties/registry\",\n" +\r
+                               "                                \"type\": \"string\",\n" +\r
+                               "                                \"title\": \"The xApp Image Registry\",\n" +\r
+                               "                                \"default\": \"nexus3.o-ran-sc.org:10002\",\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    \"nexus3.o-ran-sc.org:10002\"\n" +\r
+                               "                                ],\n" +\r
+                               "                                \"pattern\": \"^([A-Za-z0-9\\\\.-]{1,}\\\\.[A-Za-z]{1,}|((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))(?:\\\\:\\\\d+)?$\"\n" +\r
+                               "                            },\n" +\r
+                               "                            \"name\": {\n" +\r
+                               "                                \"$id\": \"#/properties/containers/items/properties/image/properties/name\",\n" +\r
+                               "                                \"type\": \"string\",\n" +\r
+                               "                                \"title\": \"The xApp Image Name\",\n" +\r
+                               "                                \"default\": \"xapp\",\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    \"xapp\"\n" +\r
+                               "                                ]\n" +\r
+                               "                            },\n" +\r
+                               "                            \"tag\": {\n" +\r
+                               "                                \"$id\": \"#/properties/containers/items/properties/image/properties/tag\",\n" +\r
+                               "                                \"type\": \"string\",\n" +\r
+                               "                                \"title\": \"The xApp Image Tag\",\n" +\r
+                               "                                \"default\": \"latest\",\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    \"latest\"\n" +\r
+                               "                                ]\n" +\r
+                               "                            }\n" +\r
+                               "                        }\n" +\r
+                               "                    },\n" +\r
+                               "                    \"command\": {\n" +\r
+                               "                        \"$id\": \"#/properties/containers/items/properties/command\",\n" +\r
+                               "                        \"type\": \"array\",\n" +\r
+                               "                        \"items\": [\n" +\r
+                               "                            {\n" +\r
+                               "                                \"$id\": \"#/properties/containers/items/properties/command/item\",\n" +\r
+                               "                                \"type\": \"string\",\n" +\r
+                               "                                \"title\": \"The Command Item\",\n" +\r
+                               "                                \"default\": \"/bin/sh\",\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    \"/bin/sh\"\n" +\r
+                               "                                ]\n" +\r
+                               "                            }\n" +\r
+                               "                        ]\n" +\r
+                               "                    },\n" +\r
+                               "                    \"args\": {\n" +\r
+                               "                        \"$id\": \"#/properties/containers/items/properties/args\",\n" +\r
+                               "                        \"type\": \"array\",\n" +\r
+                               "                        \"items\": [\n" +\r
+                               "                            {\n" +\r
+                               "                                \"$id\": \"#/properties/containers/items/properties/args/item\",\n" +\r
+                               "                                \"type\": \"string\",\n" +\r
+                               "                                \"title\": \"The Command Arguement Item\",\n" +\r
+                               "                                \"default\": \"-c\",\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    \"-c\"\n" +\r
+                               "                                ]\n" +\r
+                               "                            }\n" +\r
+                               "                        ]\n" +\r
+                               "                    }\n" +\r
+                               "                }\n" +\r
+                               "            }\n" +\r
+                               "        },\n" +\r
+                               "        \"livenessProbe\": {\n" +\r
+                               "            \"$id\": \"#/properties/livenessprobe\",\n" +\r
+                               "            \"type\": \"object\",\n" +\r
+                               "            \"title\": \"The Liveness Probe Definition\",\n" +\r
+                               "            \"properties\": {\n" +\r
+                               "                \"exec\": {\n" +\r
+                               "                    \"$id\": \"#/properties/livenessprobe/exec\",\n" +\r
+                               "                    \"type\": \"object\",\n" +\r
+                               "                    \"title\": \"Script of Liveness Probe\",\n" +\r
+                               "                    \"properties\": {\n" +\r
+                               "                        \"command\": {\n" +\r
+                               "                            \"$id\": \"#/properties/livenessprobe/exec/command\",\n" +\r
+                               "                            \"type\": \"array\",\n" +\r
+                               "                            \"items\": [\n" +\r
+                               "                                {\n" +\r
+                               "                                    \"$id\": \"#/properties/livenessprobe/exec/command/item\",\n" +\r
+                               "                                    \"type\": \"string\",\n" +\r
+                               "                                    \"title\": \"The Command Item\",\n" +\r
+                               "                                    \"default\": \"/bin/sh\",\n" +\r
+                               "                                    \"examples\": [\n" +\r
+                               "                                        \"/bin/sh\"\n" +\r
+                               "                                    ]\n" +\r
+                               "                                }\n" +\r
+                               "                            ]\n" +\r
+                               "                        }\n" +\r
+                               "                    },\n" +\r
+                               "                    \"required\": [\n" +\r
+                               "                        \"command\"\n" +\r
+                               "                    ]\n" +\r
+                               "                },\n" +\r
+                               "                \"httpGet\": {\n" +\r
+                               "                    \"$id\": \"#/properties/livenessprobe/httpget\",\n" +\r
+                               "                    \"type\": \"object\",\n" +\r
+                               "                    \"title\": \"Http of Liveness Probe\",\n" +\r
+                               "                    \"properties\": {\n" +\r
+                               "                        \"path\": {\n" +\r
+                               "                            \"$id\": \"#/properties/livenessprobe/httpget/path\",\n" +\r
+                               "                            \"type\": \"string\",\n" +\r
+                               "                            \"title\": \"The Path of Http Liveness Probe\",\n" +\r
+                               "                            \"default\": \"/health\",\n" +\r
+                               "                            \"examples\": [\n" +\r
+                               "                                \"/health\"\n" +\r
+                               "                            ]\n" +\r
+                               "                        },\n" +\r
+                               "                        \"port\": {\n" +\r
+                               "                            \"$id\": \"#/properties/livenessprobe/httpget/port\",\n" +\r
+                               "                            \"type\": \"integer\",\n" +\r
+                               "                            \"title\": \"The Port of Http Liveness Probe\",\n" +\r
+                               "                            \"default\": 80,\n" +\r
+                               "                            \"examples\": [\n" +\r
+                               "                                80\n" +\r
+                               "                            ]\n" +\r
+                               "                        }\n" +\r
+                               "                    },\n" +\r
+                               "                    \"required\": [\n" +\r
+                               "                        \"path\",\n" +\r
+                               "                        \"port\"\n" +\r
+                               "                    ]\n" +\r
+                               "                },\n" +\r
+                               "                \"initialDelaySeconds\": {\n" +\r
+                               "                    \"$id\": \"#/properties/livenessprobe/initialdelayseconds\",\n" +\r
+                               "                    \"type\": \"integer\",\n" +\r
+                               "                    \"title\": \"Initial Delay of Liveness Probe\",\n" +\r
+                               "                    \"default\": 5,\n" +\r
+                               "                    \"examples\": [\n" +\r
+                               "                        5\n" +\r
+                               "                    ]\n" +\r
+                               "                },\n" +\r
+                               "                \"periodSeconds\": {\n" +\r
+                               "                    \"$id\": \"#/properties/livenessprobe/periodseconds\",\n" +\r
+                               "                    \"type\": \"integer\",\n" +\r
+                               "                    \"title\": \"Period of Liveness Probe\",\n" +\r
+                               "                    \"default\": 15,\n" +\r
+                               "                    \"examples\": [\n" +\r
+                               "                        15\n" +\r
+                               "                    ]\n" +\r
+                               "                }\n" +\r
+                               "            },\n" +\r
+                               "            \"oneOf\": [\n" +\r
+                               "                {\n" +\r
+                               "                    \"$id\": \"#/properties/livenessprobe/oneof/exec\",\n" +\r
+                               "                    \"required\": [\n" +\r
+                               "                        \"exec\",\n" +\r
+                               "                        \"initialDelaySeconds\",\n" +\r
+                               "                        \"periodSeconds\"\n" +\r
+                               "                    ]\n" +\r
+                               "                },\n" +\r
+                               "                {\n" +\r
+                               "                    \"$id\": \"#/properties/livenessprobe/oneof/httpget\",\n" +\r
+                               "                    \"required\": [\n" +\r
+                               "                        \"httpGet\",\n" +\r
+                               "                        \"initialDelaySeconds\",\n" +\r
+                               "                        \"periodSeconds\"\n" +\r
+                               "                    ]\n" +\r
+                               "                }\n" +\r
+                               "            ]\n" +\r
+                               "        },\n" +\r
+                               "        \"readinessProbe\": {\n" +\r
+                               "            \"$id\": \"#/properties/readinessprobe\",\n" +\r
+                               "            \"type\": \"object\",\n" +\r
+                               "            \"title\": \"The Readiness Probe Definition\",\n" +\r
+                               "            \"properties\": {\n" +\r
+                               "                \"exec\": {\n" +\r
+                               "                    \"$id\": \"#/properties/readinessprobe/exec\",\n" +\r
+                               "                    \"type\": \"object\",\n" +\r
+                               "                    \"title\": \"Script of Readiness Probe\",\n" +\r
+                               "                    \"properties\": {\n" +\r
+                               "                        \"command\": {\n" +\r
+                               "                            \"$id\": \"#/properties/readinessprobe/exec/command\",\n" +\r
+                               "                            \"type\": \"array\",\n" +\r
+                               "                            \"items\": [\n" +\r
+                               "                                {\n" +\r
+                               "                                    \"type\": \"string\"\n" +\r
+                               "                                }\n" +\r
+                               "                            ]\n" +\r
+                               "                        }\n" +\r
+                               "                    },\n" +\r
+                               "                    \"required\": [\n" +\r
+                               "                        \"command\"\n" +\r
+                               "                    ]\n" +\r
+                               "                },\n" +\r
+                               "                \"httpGet\": {\n" +\r
+                               "                    \"$id\": \"#/properties/readinessprobe/httpget\",\n" +\r
+                               "                    \"type\": \"object\",\n" +\r
+                               "                    \"title\": \"Http of Readiness Probe\",\n" +\r
+                               "                    \"properties\": {\n" +\r
+                               "                        \"path\": {\n" +\r
+                               "                            \"$id\": \"#/properties/readinessprobe/httpget/path\",\n" +\r
+                               "                            \"type\": \"string\",\n" +\r
+                               "                            \"title\": \"The Path of Http Readiness Probe\",\n" +\r
+                               "                            \"default\": \"/health\",\n" +\r
+                               "                            \"examples\": [\n" +\r
+                               "                                \"/health\"\n" +\r
+                               "                            ]\n" +\r
+                               "                        },\n" +\r
+                               "                        \"port\": {\n" +\r
+                               "                            \"$id\": \"#/properties/readinessprobe/httpget/port\",\n" +\r
+                               "                            \"type\": \"integer\",\n" +\r
+                               "                            \"title\": \"The Port of Http Readiness Probe\",\n" +\r
+                               "                            \"default\": 80,\n" +\r
+                               "                            \"examples\": [\n" +\r
+                               "                                80\n" +\r
+                               "                            ]\n" +\r
+                               "                        }\n" +\r
+                               "                    },\n" +\r
+                               "                    \"required\": [\n" +\r
+                               "                        \"path\",\n" +\r
+                               "                        \"port\"\n" +\r
+                               "                    ]\n" +\r
+                               "                },\n" +\r
+                               "                \"initialDelaySeconds\": {\n" +\r
+                               "                    \"$id\": \"#/properties/readinessprobe/initialdelayseconds\",\n" +\r
+                               "                    \"type\": \"integer\",\n" +\r
+                               "                    \"title\": \"Initial Delay of Readiness Probe\",\n" +\r
+                               "                    \"default\": 5,\n" +\r
+                               "                    \"examples\": [\n" +\r
+                               "                        5\n" +\r
+                               "                    ]\n" +\r
+                               "                },\n" +\r
+                               "                \"periodSeconds\": {\n" +\r
+                               "                    \"$id\": \"#/properties/readinessprobe/periodseconds\",\n" +\r
+                               "                    \"type\": \"integer\",\n" +\r
+                               "                    \"title\": \"Period of Readiness Probe\",\n" +\r
+                               "                    \"default\": 15,\n" +\r
+                               "                    \"examples\": [\n" +\r
+                               "                        15\n" +\r
+                               "                    ]\n" +\r
+                               "                }\n" +\r
+                               "            },\n" +\r
+                               "            \"oneOf\": [\n" +\r
+                               "                {\n" +\r
+                               "                    \"$id\": \"#/properties/readinessprobe/oneof/exec\",\n" +\r
+                               "                    \"required\": [\n" +\r
+                               "                        \"exec\",\n" +\r
+                               "                        \"initialDelaySeconds\",\n" +\r
+                               "                        \"periodSeconds\"\n" +\r
+                               "                    ]\n" +\r
+                               "                },\n" +\r
+                               "                {\n" +\r
+                               "                    \"$id\": \"#/properties/readinessprobe/oneof/httpget\",\n" +\r
+                               "                    \"required\": [\n" +\r
+                               "                        \"httpGet\",\n" +\r
+                               "                        \"initialDelaySeconds\",\n" +\r
+                               "                        \"periodSeconds\"\n" +\r
+                               "                    ]\n" +\r
+                               "                }\n" +\r
+                               "            ]\n" +\r
+                               "        },\n" +\r
+                               "        \"messaging\": {\n" +\r
+                               "            \"type\": \"object\",\n" +\r
+                               "            \"$id\": \"#/properties/messaging\",\n" +\r
+                               "            \"title\": \"The Messaging Schema\",\n" +\r
+                               "            \"properties\": {\n" +\r
+                               "                \"ports\": {\n" +\r
+                               "                    \"$id\": \"#/properties/messaging/ports\",\n" +\r
+                               "                    \"type\": \"array\",\n" +\r
+                               "                    \"title\": \"The Ports for Messaging\",\n" +\r
+                               "                    \"items\": {\n" +\r
+                               "                        \"$id\": \"#/properties/messaging/ports/items\",\n" +\r
+                               "                        \"type\": \"object\",\n" +\r
+                               "                        \"title\": \"The Item of Port\",\n" +\r
+                               "                        \"required\": [\n" +\r
+                               "                            \"name\",\n" +\r
+                               "                            \"container\",\n" +\r
+                               "                            \"port\"\n" +\r
+                               "                        ],\n" +\r
+                               "                        \"dependencies\": {\n" +\r
+                               "                            \"txMessages\": [\n" +\r
+                               "                                \"rxMessages\",\n" +\r
+                               "                                \"policies\"\n" +\r
+                               "                            ],\n" +\r
+                               "                            \"rxMessages\": [\n" +\r
+                               "                                \"txMessages\",\n" +\r
+                               "                                \"policies\"\n" +\r
+                               "                            ],\n" +\r
+                               "                            \"policies\": [\n" +\r
+                               "                                \"rxMessages\",\n" +\r
+                               "                                \"txMessages\"\n" +\r
+                               "                            ]\n" +\r
+                               "                        },\n" +\r
+                               "                        \"properties\": {\n" +\r
+                               "                            \"name\": {\n" +\r
+                               "                                \"$id\": \"#/properties/messaging/ports/items/name\",\n" +\r
+                               "                                \"type\": \"string\",\n" +\r
+                               "                                \"title\": \"The Name of the Port\",\n" +\r
+                               "                                \"default\": \"App\",\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    \"App\"\n" +\r
+                               "                                ]\n" +\r
+                               "                            },\n" +\r
+                               "                            \"container\": {\n" +\r
+                               "                                \"$id\": \"#/properties/messaging/ports/items/container\",\n" +\r
+                               "                                \"type\": \"string\",\n" +\r
+                               "                                \"title\": \"The Container of the Port\",\n" +\r
+                               "                                \"default\": \"xapp\",\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    \"xapp\"\n" +\r
+                               "                                ]\n" +\r
+                               "                            },\n" +\r
+                               "                            \"port\": {\n" +\r
+                               "                                \"$id\": \"#/properties/messaging/ports/items/port\",\n" +\r
+                               "                                \"type\": \"integer\",\n" +\r
+                               "                                \"title\": \"The Port Number\",\n" +\r
+                               "                                \"default\": 8080,\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    8080\n" +\r
+                               "                                ]\n" +\r
+                               "                            },\n" +\r
+                               "                            \"description\": {\n" +\r
+                               "                                \"$id\": \"#/properties/messaging/ports/items/description\",\n" +\r
+                               "                                \"type\": \"string\",\n" +\r
+                               "                                \"title\": \"The description for the port\",\n" +\r
+                               "                                \"default\": \"port description\",\n" +\r
+                               "                                \"examples\": [\n" +\r
+                               "                                    \"port description\"\n" +\r
+                               "                                ]\n" +\r
+                               "                            },\n" +\r
+                               "                            \"txMessages\": {\n" +\r
+                               "                                \"$id\": \"#/properties/messaging/ports/items/txmessages\",\n" +\r
+                               "                                \"type\": \"array\",\n" +\r
+                               "                                \"title\": \"The txMessage Types\",\n" +\r
+                               "                                \"items\": {\n" +\r
+                               "                                    \"$id\": \"#/properties/messaging/ports/items//txmessages/item\",\n" +\r
+                               "                                    \"type\": \"string\",\n" +\r
+                               "                                    \"title\": \"The txMessage Types Item\",\n" +\r
+                               "                                    \"default\": \"RIC_SUB\",\n" +\r
+                               "                                    \"examples\": [\n" +\r
+                               "                                        \"RIC_SUB\"\n" +\r
+                               "                                    ]\n" +\r
+                               "                                }\n" +\r
+                               "                            },\n" +\r
+                               "                            \"rxMessages\": {\n" +\r
+                               "                                \"$id\": \"#/properties/messaging/ports/items/rxmessages\",\n" +\r
+                               "                                \"type\": \"array\",\n" +\r
+                               "                                \"title\": \"The rxMessage Types\",\n" +\r
+                               "                                \"items\": {\n" +\r
+                               "                                    \"$id\": \"#/properties/messaging/ports/items/rxmessages/item\",\n" +\r
+                               "                                    \"type\": \"string\",\n" +\r
+                               "                                    \"title\": \"The rxMessage Types Item\",\n" +\r
+                               "                                    \"default\": \"RIC_SUB\",\n" +\r
+                               "                                    \"examples\": [\n" +\r
+                               "                                        \"RIC_SUB\"\n" +\r
+                               "                                    ]\n" +\r
+                               "                                }\n" +\r
+                               "                            },\n" +\r
+                               "                            \"policies\": {\n" +\r
+                               "                                \"$id\": \"#/properties/messaging/ports/items/policies\",\n" +\r
+                               "                                \"type\": \"array\",\n" +\r
+                               "                                \"title\": \"The Policies Types\",\n" +\r
+                               "                                \"items\": {\n" +\r
+                               "                                    \"$id\": \"#/properties/messaging/ports/items/policies/item\",\n" +\r
+                               "                                    \"type\": \"integer\",\n" +\r
+                               "                                    \"title\": \"The Policy Types Item\",\n" +\r
+                               "                                    \"default\": 1,\n" +\r
+                               "                                    \"examples\": [\n" +\r
+                               "                                        1\n" +\r
+                               "                                    ]\n" +\r
+                               "                                }\n" +\r
+                               "                            }\n" +\r
+                               "                        }\n" +\r
+                               "                    }\n" +\r
+                               "                }\n" +\r
+                               "            },\n" +\r
+                               "            \"required\": [\n" +\r
+                               "                \"ports\"\n" +\r
+                               "            ]\n" +\r
+                               "        },\n" +\r
+                               "        \"metrics\": {\n" +\r
+                               "            \"type\": \"object\",\n" +\r
+                               "            \"$id\": \"#/properties/metrics\",\n" +\r
+                               "            \"title\": \"The Metrics Schema\",\n" +\r
+                               "            \"items\": {\n" +\r
+                               "                \"$id\": \"#/properties/metrics/items\",\n" +\r
+                               "                \"type\": \"object\",\n" +\r
+                               "                \"title\": \"The Metrics Items Schema\",\n" +\r
+                               "                \"required\": [\n" +\r
+                               "                    \"objectName\",\n" +\r
+                               "                    \"objectInstance\",\n" +\r
+                               "                    \"name\",\n" +\r
+                               "                    \"type\",\n" +\r
+                               "                    \"description\"\n" +\r
+                               "                ],\n" +\r
+                               "                \"properties\": {\n" +\r
+                               "                    \"objectName\": {\n" +\r
+                               "                        \"$id\": \"#/properties/metrics/items/objectname\",\n" +\r
+                               "                        \"type\": \"string\",\n" +\r
+                               "                        \"title\": \"The Object Name\"\n" +\r
+                               "                    },\n" +\r
+                               "                    \"objectInstance\": {\n" +\r
+                               "                        \"$id\": \"#/properties/metrics/items/objectinstance\",\n" +\r
+                               "                        \"type\": \"string\",\n" +\r
+                               "                        \"title\": \"The Object Instance\"\n" +\r
+                               "                    },\n" +\r
+                               "                    \"name\": {\n" +\r
+                               "                        \"$id\": \"#/properties/metrics/items/name\",\n" +\r
+                               "                        \"type\": \"string\",\n" +\r
+                               "                        \"title\": \"The Object Name\"\n" +\r
+                               "                    },\n" +\r
+                               "                    \"type\": {\n" +\r
+                               "                        \"$id\": \"#/properties/metrics/items/type\",\n" +\r
+                               "                        \"type\": \"string\",\n" +\r
+                               "                        \"title\": \"The Object Type\"\n" +\r
+                               "                    },\n" +\r
+                               "                    \"description\": {\n" +\r
+                               "                        \"$id\": \"#/properties/metrics/items/description\",\n" +\r
+                               "                        \"type\": \"string\",\n" +\r
+                               "                        \"title\": \"The Object Description\"\n" +\r
+                               "                    }\n" +\r
+                               "                }\n" +\r
+                               "            }\n" +\r
+                               "        },\n" +\r
+                               "        \"controls\": {\n" +\r
+                               "            \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n" +\r
+                               "            \"$id\": \"#/controls\",\n" +\r
+                               "            \"type\": \"object\",\n" +\r
+                               "            \"title\": \"Controls Section Schema\",\n" +\r
+                               "            \"required\": [],\n" +\r
+                               "            \"properties\": {}\n" +\r
+                               "        }\n" +\r
+                               "    }\n" +\r
+                               "}\n" +\r
+                               "",\r
+                       "config-file.json": "{\n" +\r
+                               "    \"name\": \"hw-go\",\n" +\r
+                               "    \"version\": \"1.0.0\",\n" +\r
+                               "    \"containers\": [{\"image\":{\"name\":\"o-ran-sc/ric-app-hw-go\",\"registry\":\"nexus3.o-ran-sc.org:10004\",\"tag\":\"1.1.1\"},\"name\":\"hw-go\"}],\n" +\r
+                               "    \"livenessProbe\": {\n" +\r
+                               "        \"httpGet\": {\n" +\r
+                               "            \"path\": \"ric/v1/health/alive\",\n" +\r
+                               "            \"port\": 8080\n" +\r
+                               "        },\n" +\r
+                               "        \"initialDelaySeconds\": 5,\n" +\r
+                               "        \"periodSeconds\": 15\n" +\r
+                               "    },\n" +\r
+                               "    \"readinessProbe\": {\n" +\r
+                               "        \"httpGet\": {\n" +\r
+                               "            \"path\": \"ric/v1/health/ready\",\n" +\r
+                               "            \"port\": 8080\n" +\r
+                               "        },\n" +\r
+                               "        \"initialDelaySeconds\": 5,\n" +\r
+                               "        \"periodSeconds\": 15\n" +\r
+                               "    },\n" +\r
+                               "    \"messaging\": {\n" +\r
+                               "        \"ports\": [{\"container\":\"hw-go\",\"description\":\"http service\",\"name\":\"http\",\"port\":8080},{\"container\":\"hw-go\",\"description\":\"rmr route port for hw-go xapp\",\"name\":\"rmrroute\",\"port\":4561},{\"container\":\"hw-go\",\"description\":\"rmr data port for hw-go\",\"mtypes\":[{\"id\":55555,\"name\":\"TESTNAME1\"},{\"id\":55556,\"name\":\"TESTNAME2\"}],\"name\":\"rmrdata\",\"policies\":[1],\"port\":4560,\"rxMessages\":[\"RIC_SUB_RESP\",\"RIC_SUB_FAILURE\",\"RIC_SUB_DEL_RESP\",\"RIC_INDICATION\"],\"txMessages\":[\"RIC_SUB_REQ\",\"RIC_SUB_DEL_REQ\",\"RIC_SGNB_ADDITION_REQ\",\"RIC_SGNB_ADDITION_ACK\"]}]\n" +\r
+                               "    },\n" +\r
+                               "    \"rmr\": {\n" +\r
+                               "        \"protPort\": \"tcp:4560\",\n" +\r
+                               "        \"maxSize\": 2072,\n" +\r
+                               "        \"numWorkers\": 1,\n" +\r
+                               "        \"txMessages\": [\"RIC_SUB_REQ\",\"A1_POLICY_RESP\",\"A1_POLICY_QUERY\",\"RIC_HEALTH_CHECK_RESP\"],\n" +\r
+                               "        \"rxMessages\": [\"RIC_SUB_RESP\",\"A1_POLICY_REQ\",\"RIC_HEALTH_CHECK_REQ\"],\n" +\r
+                               "        \"policies\": [1]\n" +\r
+                               "    },\n" +\r
+                               "    \"controls\": {\n" +\r
+                               "        \"fileStrorage\": false,\n" +\r
+                               "        \"logger\": {\n" +\r
+                               "            \"level\": 3\n" +\r
+                               "        }\n" +\r
+                               "    },\n" +\r
+                               "    \"db\": {\n" +\r
+                               "        \"waitForSdl\": false\n" +\r
+                               "    }\n" +\r
+                               "}\n" +\r
+                               "",\r
+               },\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name: "configmap-ricplt-hw-go-appconfig",\r
+               },\r
+       }\r
+\r
+       configMap2 := &corev1.ConfigMap{\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name: "configmap-ricplt-hw-go-appenv",\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       Kind:       "ConfigMap",\r
+                       APIVersion: "v1",\r
+               },\r
+               Data: map[string]string{\r
+                       "XAPP_DESCRIPTOR_PATH":     "/opt/ric/config",\r
+                       "DBAAS_PORT_6379_TCP_ADDR": "service-ricplt-dbaas-tcp.ricplt.svc.cluster.local",\r
+                       "RMR_SRC_ID":               "service-ricplt-hw-go-rmr.ricplt",\r
+                       "DBAAS_SERVICE_PORT":       "6379",\r
+                       "RMR_RTG_SVC":              "4561",\r
+                       "SERVICE_METRICSDB_HOST":   "service-metricsdb.ricplt.svc.cluster.local",\r
+                       "SERVICE_METRICSDB_PORT":   "8086",\r
+                       "DBAAS_PORT_6379_TCP_PORT": "6379",\r
+                       "DBAAS_SERVICE_HOST":       "service-ricplt-dbaas-tcp.ricplt.svc.cluster.local",\r
+               },\r
+       }\r
+\r
+       return []*corev1.ConfigMap{configMap1, configMap2}\r
+}\r