From: aravind.est Date: Wed, 10 Dec 2025 19:16:35 +0000 (+0000) Subject: Add Focom to TEIV Adapter charts X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=99a3fa26a5d1c6e102d655881eb671ade58de77e;p=it%2Fdep.git Add Focom to TEIV Adapter charts Focom to TEIV adapter charts added. This charts expect the focom and o2ims cluster's kubeconfig file to be running. This pod will not throw any error/readiness failure when the kubeconfig is not configured. Issue-ID: SMO-206 Change-Id: I60d22dd4669e15dab5adf1ee9d6be791029a4b85 Signed-off-by: aravind.est --- diff --git a/smo-install/helm-override/default/oran-override.yaml b/smo-install/helm-override/default/oran-override.yaml index 8ddb72b0..d318c558 100644 --- a/smo-install/helm-override/default/oran-override.yaml +++ b/smo-install/helm-override/default/oran-override.yaml @@ -187,6 +187,8 @@ smo: dependsOn: smo.installTeiv - name: ncmp-to-teiv-adapter-ku dependsOn: smo.installTeiv + - name: focom-to-teiv-adapter-ku + dependsOn: smo.installTeiv - name: redpanda-console-ku dependsOn: nonrtric.installRanpm diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/Chart.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/Chart.yaml index a72b1c7b..f54161b8 100644 --- a/smo-install/oran_oom/smo/topology-exposure-inventory/Chart.yaml +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/Chart.yaml @@ -39,4 +39,7 @@ dependencies: alias: topology-ingestion - name: ncmp-to-teiv-adapter version: 1.0.0 - repository: "file://charts/ncmp-to-teiv-adapter" \ No newline at end of file + repository: "file://charts/ncmp-to-teiv-adapter" + - name: focom-to-teiv-adapter + version: 1.0.0 + repository: "file://charts/focom-to-teiv-adapter" diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/.helmignore b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/.helmignore new file mode 100644 index 00000000..05d5aabd --- /dev/null +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/Chart.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/Chart.yaml new file mode 100644 index 00000000..f9cfcab0 --- /dev/null +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/Chart.yaml @@ -0,0 +1,22 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +apiVersion: v1 +appVersion: "1.0.0" +description: A Helm chart for focom teiv adapter +name: focom-to-teiv-adapter +version: 1.0.0 diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/configmap.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/configmap.yaml new file mode 100644 index 00000000..9719d1a9 --- /dev/null +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/configmap.yaml @@ -0,0 +1,18 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +{{ include "common.applicationConfigmap" . }} diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/deployment.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/deployment.yaml new file mode 100644 index 00000000..6b19b797 --- /dev/null +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/deployment.yaml @@ -0,0 +1,51 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +kind: Deployment +apiVersion: apps/v1 +metadata: {{- include "common.resourceMetadata" . | nindent 2 }} +spec: + replicas: 1 + selector: {{- include "common.selectors" . | nindent 4 }} + template: + metadata: {{- include "common.templateMetadata" . | nindent 6 }} + spec: + hostname: {{ include "common.name" . }} + containers: + - name: {{ include "common.containername" . }} + image: {{ include "repository.nexusReleaseRepo" . }}/{{ .Values.image.name }}:{{ .Values.image.tag }} + imagePullPolicy: {{ .Values.imagePullPolicy }} +{{- if .Values.global.useStrimziKafka }} + env: + - name: SPRING_KAFKA_SECURITY_PROPERTIES_SASL_JAAS_CONFIG + valueFrom: + secretKeyRef: + name: {{ include "common.name" . }}-ku + key: sasl.jaas.config +{{- end }} + volumeMounts: + - name: {{ include "common.applicationConfigMountName" . }} + mountPath: /opt/app/teiv/config + - name: kubeconfig-volume + mountPath: /opt/app/teiv/kubeconfig + readOnly: true + volumes: +{{- include "common.applicationConfigVolume" . | nindent 6 }} + - name: kubeconfig-volume + secret: + secretName: {{ include "common.name" . }}-kubeconfig + optional: true diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/kafkauser.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/kafkauser.yaml new file mode 100644 index 00000000..58b34735 --- /dev/null +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/kafkauser.yaml @@ -0,0 +1,18 @@ +{{/* +# Copyright © 2025 OpenInfra Foundation Europe. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} +{{ if .Values.global.useStrimziKafka }} +{{ include "common.kafkauser" . }} +{{ end }} diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/secret.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/secret.yaml new file mode 100644 index 00000000..97782d64 --- /dev/null +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/secret.yaml @@ -0,0 +1,32 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + + +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "common.name" . }}-kubeconfig + namespace: {{ include "common.namespace" . }} + labels: {{- include "common.labels" . | nindent 4 }} +type: Opaque +data: + {{- if .Values.kubeconfig.focom }} + focom-kubeconfig.yaml: {{ .Values.kubeconfig.focom | b64enc | quote }} + {{- end }} + {{- if .Values.kubeconfig.o2ims }} + o2ims-kubeconfig.yaml: {{ .Values.kubeconfig.o2ims | b64enc | quote }} + {{- end }} \ No newline at end of file diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/service.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/service.yaml new file mode 100644 index 00000000..a378412c --- /dev/null +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/templates/service.yaml @@ -0,0 +1,18 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +{{ include "common.service" . }} diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/values.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/values.yaml new file mode 100644 index 00000000..13c4220e --- /dev/null +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/charts/focom-to-teiv-adapter/values.yaml @@ -0,0 +1,66 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +# These values can/will be overridden from parent values.yaml + +imagePullPolicy: IfNotPresent +image: + name: "" # Will be set from parent values.yaml + tag: "" # Will be set from parent values.yaml +service: + type: ClusterIP +persistence: + size: 2Gi + storageClassName: standard + +# Kubeconfig files for FOCOM and O2IMS clusters +# Provide kubeconfig content as YAML string +kubeconfig: + + # FOCOM cluster kubeconfig (YAML as string) + focom: "" + + # O2IMS cluster kubeconfig (YAML as string) + o2ims: "" + +application: + spring: + application: + name: focom-to-teiv-adapter + kafka: + bootstrap-servers: onap-strimzi-kafka-bootstrap.onap:9092 + security: + enabled: true + protocol: SASL_PLAINTEXT + properties: + sasl.mechanism: SCRAM-SHA-512 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="" password=""; + producer: + key-serializer: org.apache.kafka.common.serialization.StringSerializer + value-serializer: io.cloudevents.kafka.CloudEventSerializer + + kafka: + topic: topology-inventory-ingestion + + focom: + kubeconfig: kubeconfig/focom-kubeconfig.yaml + + o2ims: + kubeconfig: kubeconfig/o2ims-kubeconfig.yaml + + polling: + interval: 6000 diff --git a/smo-install/oran_oom/smo/topology-exposure-inventory/values.yaml b/smo-install/oran_oom/smo/topology-exposure-inventory/values.yaml index 7a241905..e59be061 100644 --- a/smo-install/oran_oom/smo/topology-exposure-inventory/values.yaml +++ b/smo-install/oran_oom/smo/topology-exposure-inventory/values.yaml @@ -162,3 +162,74 @@ ncmp-to-teiv-adapter: - name: *topologyIngestionTopic type: topic operations: [Write] + +focom-to-teiv-adapter: + name: focom-to-teiv-adapter + imagePullPolicy: IfNotPresent + image: + name: o-ran-sc/smo-focom-to-teiv-adapter + tag: 0.1.0 + service: + type: ClusterIP + ports: + - name: http + internalPort: "8080" + targetPort: "8080" + port: 8080 + liveness: + initialDelaySeconds: 20 + periodSeconds: 10 + readiness: + initialDelaySeconds: 20 + periodSeconds: 10 + persistence: + size: 2Gi + storageClassName: standard + kafkaUser: + authenticationType: scram-sha-512 + acls: + - name: *topologyIngestionTopic + type: topic + operations: [Write] + # Kubeconfig configuration for FOCOM and O2IMS clusters + # Set enabled to true and provide kubeconfig YAML content as string + kubeconfig: + enabled: false + focom: | + apiVersion: v1 + kind: Config + clusters: + - cluster: + certificate-authority-data: LS0tLS1CRUdJTi... + server: https://focom-cluster-control-plane:6443 + name: focom-cluster + contexts: + - context: + cluster: focom-cluster + user: focom-admin + name: focom-context + current-context: focom-context + users: + - name: focom-admin + user: + client-certificate-data: LS0tLS1CRUdJTi... + client-key-data: LS0tLS1CRUdJTi... + o2ims: | + apiVersion: v1 + kind: Config + clusters: + - cluster: + certificate-authority-data: LS0tLS1CRUdJTi... + server: https://kind-control-plane:6443 + name: o2ims-cluster + contexts: + - context: + cluster: o2ims-cluster + user: o2ims-admin + name: o2ims-context + current-context: o2ims-context + users: + - name: o2ims-admin + user: + client-certificate-data: LS0tLS1CRUdJTi... + client-key-data: LS0tLS1CRUdJTi...