1a4f4babc0d7ab5781564b4b752a5e201474cd08
[ric-plt/ric-dep.git] / depRicKubernetesOperator / internal / controller / getConfigmap.go
1 package controller\r
2 \r
3 import (\r
4         corev1 "k8s.io/api/core/v1"\r
5         metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
6 )\r
7 \r
8 func GetConfigMap() []*corev1.ConfigMap {\r
9 \r
10         configMap1 := &corev1.ConfigMap{\r
11                 ObjectMeta: metav1.ObjectMeta{\r
12                         Name: "configmap-ricplt-a1mediator-a1conf",\r
13                 },\r
14                 TypeMeta: metav1.TypeMeta{\r
15                         APIVersion: "v1",\r
16                         Kind:       "ConfigMap",\r
17                 },\r
18                 Data: map[string]string{\r
19                         "local.rt": "newrt|start\n" +\r
20                                 "# Warning! this is not a functioning table because the subscription manager and route manager are now involved in a1 flows\n" +\r
21                                 "# the real routing table requires subscription ids as routing is now done over sub ids, but this isn't known until xapp deploy time, it's a dynamic process triggered by the xapp manager\n" +\r
22                                 "# there is a single message type for all messages a1 sends out now, subid is the other necessary piece of info\n" +\r
23                                 "# there are two message types a1 listens for; 20011 (instance response) and 20012 (query)\n" +\r
24                                 "# xapps likely use rts to reply with 20012 so the routing entry isn't needed for that in most cases\n" +\r
25                                 "mse|20010|SUBID|service-ricxapp-admctrl-rmr.ricxapp:4563\n" +\r
26                                 "rte|20011|service-ricplt-a1mediator-rmr.ricplt:4562\n" +\r
27                                 "rte|20012|service-ricplt-a1mediator-rmr.ricplt:4562\n" +\r
28                                 "newrt|end\n" +\r
29                                 "",\r
30                         "loglevel.txt": "log-level:",\r
31                 },\r
32         }\r
33 \r
34         configMap2 := &corev1.ConfigMap{\r
35                 Data: map[string]string{\r
36                         "CONFIG_MAP_NAME":             "/opt/route/loglevel.txt",\r
37                         "INSTANCE_DELETE_NO_RESP_TTL": "5",\r
38                         "INSTANCE_DELETE_RESP_TTL":    "10",\r
39                         "PYTHONUNBUFFERED":            "1",\r
40                         "RMR_RTG_SVC":                 "4561",\r
41                         "RMR_SRC_ID":                  "service-ricplt-a1mediator-rmr.ricplt",\r
42                         "A1_RMR_RETRY_TIMES":          "20",\r
43                 },\r
44                 ObjectMeta: metav1.ObjectMeta{\r
45                         Name: "configmap-ricplt-a1mediator-env",\r
46                 },\r
47                 TypeMeta: metav1.TypeMeta{\r
48                         APIVersion: "v1",\r
49                         Kind:       "ConfigMap",\r
50                 },\r
51         }\r
52 \r
53         configMap3 := &corev1.ConfigMap{\r
54                 Data: map[string]string{\r
55                         "ALARM_MGR_SERVICE_NAME": "service-ricplt-alarmmanager-rmr.ricplt",\r
56                         "ALARM_MGR_SERVICE_PORT": "4560",\r
57                 },\r
58                 ObjectMeta: metav1.ObjectMeta{\r
59                         Namespace: "ricplt",\r
60                         Name:      "configmap-ricplt-alarmmanager-appconfig",\r
61                 },\r
62                 TypeMeta: metav1.TypeMeta{\r
63                         APIVersion: "v1",\r
64                         Kind:       "ConfigMap",\r
65                 },\r
66         }\r
67 \r
68         configMap4 := &corev1.ConfigMap{\r
69                 ObjectMeta: metav1.ObjectMeta{\r
70                         Name:      "alarm-appconfig",\r
71                         Namespace: "ricxapp",\r
72                 },\r
73                 TypeMeta: metav1.TypeMeta{\r
74                         Kind:       "ConfigMap",\r
75                         APIVersion: "v1",\r
76                 },\r
77                 Data: map[string]string{\r
78                         "ALARM_MGR_SERVICE_NAME": "service-ricplt-alarmmanager-rmr.ricplt",\r
79                         "ALARM_MGR_SERVICE_PORT": "4560",\r
80                 },\r
81         }\r
82 \r
83         configMap5 := &corev1.ConfigMap{\r
84                 Data: map[string]string{\r
85                         "alarmmanagercfg": "{  \n" +\r
86                                 "  \"local\": {\n" +\r
87                                 "    \"host\": \":8080\"\n" +\r
88                                 "  },\n" +\r
89                                 "  \"logger\": {\n" +\r
90                                 "    \"level\": 4\n" +\r
91                                 "  },\n" +\r
92                                 "  \"db\": {\n" +\r
93                                 "    \"namespaces\": [\"sdl\", \"rnib\"]\n" +\r
94                                 "  },\n" +\r
95                                 "  \"rmr\": {\n" +\r
96                                 "    \"protPort\": \"tcp:4560\",\n" +\r
97                                 "    \"maxSize\": 1024,\n" +\r
98                                 "    \"numWorkers\": 1\n" +\r
99                                 "  },\n" +\r
100                                 "  \"controls\": {\n" +\r
101                                 "    \"promAlertManager\": {\n" +\r
102                                 "      \"address\": \"cpro-alertmanager:80\",\n" +\r
103                                 "      \"baseUrl\": \"api/v2\",\n" +\r
104                                 "      \"schemes\": \"http\",\n" +\r
105                                 "      \"alertInterval\": 30000\n" +\r
106                                 "    },\n" +\r
107                                 "    \"maxActiveAlarms\": 5000,\n" +\r
108                                 "    \"maxAlarmHistory\": 20000,\n" +\r
109                                 "    \"alarmInfoPvFile\": \"/mnt/pv-ricplt-alarmmanager/alarminfo.json\"\n" +\r
110                                 "  }\n" +\r
111                                 "}",\r
112                 },\r
113                 ObjectMeta: metav1.ObjectMeta{\r
114                         Name:      "configmap-ricplt-alarmmanager-alarmmanagercfg",\r
115                         Namespace: "ricplt",\r
116                 },\r
117                 TypeMeta: metav1.TypeMeta{\r
118                         APIVersion: "v1",\r
119                         Kind:       "ConfigMap",\r
120                 },\r
121         }\r
122 \r
123         configMap6 := &corev1.ConfigMap{\r
124                 Data: map[string]string{\r
125                         "RMR_SEED_RT": "/cfg/uta_rtg.rt",\r
126                         "RMR_SRC_ID":  "service-ricplt-alarmmanager-rmr.ricplt",\r
127                         "RMR_RTG_SVC": "service-ricplt-rtmgr-rmr:4561",\r
128                 },\r
129                 ObjectMeta: metav1.ObjectMeta{\r
130                         Name:      "configmap-ricplt-alarmmanager-env",\r
131                         Namespace: "ricplt",\r
132                 },\r
133                 TypeMeta: metav1.TypeMeta{\r
134                         APIVersion: "v1",\r
135                         Kind:       "ConfigMap",\r
136                 },\r
137         }\r
138 \r
139         configMap7 := &corev1.ConfigMap{\r
140                 Data: map[string]string{\r
141                         "appmgr.yaml": "\"local\":\n" +\r
142                                 "  # Port on which the xapp-manager REST services are provided\n" +\r
143                                 "  \"host\": \":8080\"\n" +\r
144                                 "\"helm\":\n" +\r
145                                 "  # Remote helm repo URL. UPDATE this as required.\n" +\r
146                                 "  \"repo\": \"\\\"http://service-ricplt-xapp-onboarder-http:8080\\\"\"\n" +\r
147                                 "\n" +\r
148                                 "  # Repo name referred within the xapp-manager\n" +\r
149                                 "  \"repo-name\": \"helm-repo\"\n" +\r
150                                 "\n" +\r
151                                 "  # Tiller service details in the cluster. UPDATE this as required.\n" +\r
152                                 "  \"tiller-service\": service-tiller-ricxapp\n" +\r
153                                 "  \"tiller-namespace\": ricinfra\n" +\r
154                                 "  \"tiller-port\": \"44134\"\n" +\r
155                                 "  # helm username and password files\n" +\r
156                                 "  \"helm-username-file\": \"/opt/ric/secret/helm_repo_username\"\n" +\r
157                                 "  \"helm-password-file\": \"/opt/ric/secret/helm_repo_password\"\n" +\r
158                                 "  \"retry\": 1\n" +\r
159                                 "\"xapp\":\n" +\r
160                                 "  #Namespace to install xAPPs\n" +\r
161                                 "  \"namespace\": \"ricxapp\"\n" +\r
162                                 "  \"tarDir\": \"/tmp\"\n" +\r
163                                 "  \"schema\": \"descriptors/schema.json\"\n" +\r
164                                 "  \"config\": \"config/config-file.json\"\n" +\r
165                                 "  \"tmpConfig\": \"/tmp/config-file.json\"\n" +\r
166                                 "",\r
167                 },\r
168                 ObjectMeta: metav1.ObjectMeta{\r
169                         Name: "configmap-ricplt-appmgr-appconfig",\r
170                 },\r
171                 TypeMeta: metav1.TypeMeta{\r
172                         APIVersion: "v1",\r
173                         Kind:       "ConfigMap",\r
174                 },\r
175         }\r
176 \r
177         configMap8 := &corev1.ConfigMap{\r
178                 Data: map[string]string{\r
179                         "appmgr-tiller-secret-copier.sh": "#!/bin/sh\n" +\r
180                                 "if [ -x /svcacct-to-kubeconfig.sh ] ; then\n" +\r
181                                 " /svcacct-to-kubeconfig.sh\n" +\r
182                                 "fi\n" +\r
183                                 "\n" +\r
184                                 "if [ ! -z \"${HELM_TLS_CA_CERT}\" ]; then\n" +\r
185                                 "  kubectl -n ${SECRET_NAMESPACE} get secret -o yaml ${SECRET_NAME} | \\\n" +\r
186                                 "   grep 'ca.crt:' | \\\n" +\r
187                                 "   awk '{print $2}' | \\\n" +\r
188                                 "   base64 -d > ${HELM_TLS_CA_CERT}\n" +\r
189                                 "fi\n" +\r
190                                 "\n" +\r
191                                 "if [ ! -z \"${HELM_TLS_CERT}\" ]; then\n" +\r
192                                 "  kubectl -n ${SECRET_NAMESPACE} get secret -o yaml ${SECRET_NAME} | \\\n" +\r
193                                 "   grep 'tls.crt:' | \\\n" +\r
194                                 "   awk '{print $2}' | \\\n" +\r
195                                 "   base64 -d > ${HELM_TLS_CERT}\n" +\r
196                                 "fi\n" +\r
197                                 "\n" +\r
198                                 "if [ ! -z \"${HELM_TLS_KEY}\" ]; then\n" +\r
199                                 "  kubectl -n ${SECRET_NAMESPACE} get secret -o yaml ${SECRET_NAME} | \\\n" +\r
200                                 "   grep 'tls.key:' | \\\n" +\r
201                                 "   awk '{print $2}' | \\\n" +\r
202                                 "   base64 -d > ${HELM_TLS_KEY}\n" +\r
203                                 "fi\n" +\r
204                                 "",\r
205                         "svcacct-to-kubeconfig.sh": "#!/bin/sh\n" +\r
206                                 "\n" +\r
207                                 "# generate a kubconfig (at ${KUBECONFIG} file from the automatically-mounted\n" +\r
208                                 "# service account token.\n" +\r
209                                 "# ENVIRONMENT:\n" +\r
210                                 "# SVCACCT_NAME: the name of the service account user.  default \"default\"\n" +\r
211                                 "# CLUSTER_NAME: the name of the kubernetes cluster.  default \"kubernetes\"\n" +\r
212                                 "# KUBECONFIG: where the generated file will be deposited.\n" +\r
213                                 "SVCACCT_TOKEN=`cat /var/run/secrets/kubernetes.io/serviceaccount/token`\n" +\r
214                                 "CLUSTER_CA=`base64 /var/run/secrets/kubernetes.io/serviceaccount/ca.crt|tr -d '\\n'`\n" +\r
215                                 "\n" +\r
216                                 "cat >${KUBECONFIG} <<__EOF__\n" +\r
217                                 "ApiVersion: v1\n" +\r
218                                 "kind: Config\n" +\r
219                                 "users:\n" +\r
220                                 "- name: ${SVCACCT_NAME:-default}\n" +\r
221                                 "  user:\n" +\r
222                                 "    token: ${SVCACCT_TOKEN}\n" +\r
223                                 "clusters:\n" +\r
224                                 "- cluster:\n" +\r
225                                 "    certificate-authority-data: ${CLUSTER_CA}\n" +\r
226                                 "    server: ${K8S_API_HOST:-https://kubernetes.default.svc.cluster.local/}\n" +\r
227                                 "  name: ${CLUSTER_NAME:-kubernetes}\n" +\r
228                                 "contexts:\n" +\r
229                                 "- context:\n" +\r
230                                 "    cluster: ${CLUSTER_NAME:-kubernetes}\n" +\r
231                                 "    user: ${SVCACCT_NAME:-default}\n" +\r
232                                 "  name: svcs-acct-context\n" +\r
233                                 "current-context: svcs-acct-context\n" +\r
234                                 "__EOF__\n" +\r
235                                 "",\r
236                 },\r
237                 ObjectMeta: metav1.ObjectMeta{\r
238                         Name: "configmap-ricplt-appmgr-bin",\r
239                 },\r
240                 TypeMeta: metav1.TypeMeta{\r
241                         Kind:       "ConfigMap",\r
242                         APIVersion: "v1",\r
243                 },\r
244         }\r
245 \r
246         configMap9 := &corev1.ConfigMap{\r
247                 Data: map[string]string{\r
248                         "RMR_RTG_SVC":       "4561",\r
249                         "HELM_TLS_CA_CERT":  "/opt/ric/secret/tiller-ca.cert",\r
250                         "HELM_TLS_CERT":     "/opt/ric/secret/helm-client.cert",\r
251                         "HELM_TLS_HOSTNAME": "service-tiller-ricxapp",\r
252                         "HELM_TLS_VERIFY":   "true",\r
253                         "NAME":              "xappmgr",\r
254                         "HELM_HOST":         "service-tiller-ricxapp.ricinfra:44134",\r
255                         "HELM_TLS_ENABLED":  "true",\r
256                         "HELM_TLS_KEY":      "/opt/ric/secret/helm-client.key",\r
257                 },\r
258                 ObjectMeta: metav1.ObjectMeta{\r
259                         Name: "configmap-ricplt-appmgr-env",\r
260                 },\r
261                 TypeMeta: metav1.TypeMeta{\r
262                         APIVersion: "v1",\r
263                         Kind:       "ConfigMap",\r
264                 },\r
265         }\r
266 \r
267         configMap13 := &corev1.ConfigMap{\r
268                 Data: map[string]string{\r
269                         "rmr_verbose": "0\n" +\r
270                                 "",\r
271                         "router.txt": "newrt|start\n" +\r
272                                 "rte|1080|service-ricplt-e2mgr-rmr.ricplt:3801\n" +\r
273                                 "rte|1090|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
274                                 "rte|1100|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
275                                 "rte|1101|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
276                                 "rte|1200|service-ricplt-rsm-rmr.ricplt:4801\n" +\r
277                                 "rte|1210|service-ricplt-rsm-rmr.ricplt:4801\n" +\r
278                                 "rte|1220|service-ricplt-rsm-rmr.ricplt:4801\n" +\r
279                                 "rte|10020|service-ricplt-e2mgr-rmr.ricplt:3801\n" +\r
280                                 "rte|10060|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
281                                 "rte|10061|service-ricplt-e2mgr-rmr.ricplt:3801\n" +\r
282                                 "rte|10062|service-ricplt-e2mgr-rmr.ricplt:3801\n" +\r
283                                 "rte|10070|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
284                                 "rte|10071|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
285                                 "rte|10080|service-ricplt-e2mgr-rmr.ricplt:3801\n" +\r
286                                 "rte|10360|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
287                                 "rte|10361|service-ricplt-e2mgr-rmr.ricplt:3801\n" +\r
288                                 "rte|10362|service-ricplt-e2mgr-rmr.ricplt:3801\n" +\r
289                                 "rte|10370|service-ricplt-e2mgr-rmr.ricplt:3801\n" +\r
290                                 "rte|10371|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
291                                 "rte|12010|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
292                                 "rte|12020|service-ricplt-e2term-rmr.ricplt:38000\n" +\r
293                                 "rte|20001|service-ricplt-a1mediator-rmr.ricplt:4562\n" +\r
294                                 "newrt|end",\r
295                 },\r
296                 ObjectMeta: metav1.ObjectMeta{\r
297                         Name:      "configmap-ricplt-e2mgr-router-configmap",\r
298                         Namespace: "ricplt",\r
299                 },\r
300                 TypeMeta: metav1.TypeMeta{\r
301                         APIVersion: "v1",\r
302                         Kind:       "ConfigMap",\r
303                 },\r
304         }\r
305 \r
306         configMap14 := &corev1.ConfigMap{\r
307                 Data: map[string]string{\r
308                         "configuration.yaml": "logging:\n" +\r
309                                 "  logLevel:  \"info\"     \n" +\r
310                                 "http:\n" +\r
311                                 "  port: 3800\n" +\r
312                                 "rmr:\n" +\r
313                                 "  port: 3801\n" +\r
314                                 "  maxMsgSize: 65536\n" +\r
315                                 "\n" +\r
316                                 "routingManager:\n" +\r
317                                 "  baseUrl: \"http://service-ricplt-rtmgr-http:3800/ric/v1/handles/\"\n" +\r
318                                 "notificationResponseBuffer: 100\n" +\r
319                                 "bigRedButtonTimeoutSec: 5 \n" +\r
320                                 "maxConnectionAttempts: 3 \n" +\r
321                                 "maxRnibConnectionAttempts: 3 \n" +\r
322                                 "rnibRetryIntervalMs: 10\n" +\r
323                                 "keepAliveResponseTimeoutMs: 360000\n" +\r
324                                 "keepAliveDelayMs: 120000\n" +\r
325                                 "\n" +\r
326                                 "globalRicId:\n" +\r
327                                 "  ricId: \"AACCE\"\n" +\r
328                                 "  mcc: \"310\"\n" +\r
329                                 "  mnc: \"411\"\n" +\r
330                                 "  \n" +\r
331                                 "rnibWriter:\n" +\r
332                                 "  stateChangeMessageChannel: \"RAN_CONNECTION_STATUS_CHANGE\"\n" +\r
333                                 "  ranManipulationMessageChannel: \"RAN_MANIPULATION\"",\r
334                 },\r
335                 ObjectMeta: metav1.ObjectMeta{\r
336                         Name:      "configmap-ricplt-e2mgr-configuration-configmap",\r
337                         Namespace: "ricplt",\r
338                 },\r
339                 TypeMeta: metav1.TypeMeta{\r
340                         APIVersion: "v1",\r
341                         Kind:       "ConfigMap",\r
342                 },\r
343         }\r
344 \r
345         configMap15 := &corev1.ConfigMap{\r
346                 Data: map[string]string{\r
347                         "logcfg": "loglevel: 3",\r
348                 },\r
349                 ObjectMeta: metav1.ObjectMeta{\r
350                         Name:      "configmap-ricplt-e2mgr-loglevel-configmap",\r
351                         Namespace: "ricplt",\r
352                 },\r
353                 TypeMeta: metav1.TypeMeta{\r
354                         APIVersion: "v1",\r
355                         Kind:       "ConfigMap",\r
356                 },\r
357         }\r
358 \r
359         configMap16 := &corev1.ConfigMap{\r
360                 Data: map[string]string{\r
361                         "RMR_RTG_SVC": "4561",\r
362                         "RMR_SRC_ID":  "service-ricplt-e2mgr-rmr.ricplt",\r
363                 },\r
364                 ObjectMeta: metav1.ObjectMeta{\r
365                         Name: "configmap-ricplt-e2mgr-env",\r
366                 },\r
367                 TypeMeta: metav1.TypeMeta{\r
368                         APIVersion: "v1",\r
369                         Kind:       "ConfigMap",\r
370                 },\r
371         }\r
372         \r
373         return []*corev1.ConfigMap{configMap1, configMap2, configMap3, configMap4, configMap5, configMap6,configMap7, configMap8, configMap9, configMap10, configMap11, configMap12, configMap13, configMap14, configMap15, configMap16}\r
374 }\r