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 <aravindhan.a@est.tech>
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
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"
--- /dev/null
+# Patterns to ignore when building packages.\r
+# This supports shell glob matching, relative path matching, and\r
+# negation (prefixed with !). Only one pattern per line.\r
+.DS_Store\r
+# Common VCS dirs\r
+.git/\r
+.gitignore\r
+.bzr/\r
+.bzrignore\r
+.hg/\r
+.hgignore\r
+.svn/\r
+# Common backup files\r
+*.swp\r
+*.bak\r
+*.tmp\r
+*~\r
+# Various IDEs\r
+.project\r
+.idea/\r
+*.tmproj\r
+.vscode/\r
--- /dev/null
+# ============LICENSE_START===============================================\r
+# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved.\r
+# ========================================================================\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+# ============LICENSE_END=================================================\r
+#\r
+\r
+apiVersion: v1\r
+appVersion: "1.0.0"\r
+description: A Helm chart for focom teiv adapter\r
+name: focom-to-teiv-adapter\r
+version: 1.0.0\r
--- /dev/null
+# ============LICENSE_START===============================================\r
+# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved.\r
+# ========================================================================\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+# ============LICENSE_END=================================================\r
+#\r
+\r
+{{ include "common.applicationConfigmap" . }}\r
--- /dev/null
+# ============LICENSE_START===============================================\r
+# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved.\r
+# ========================================================================\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+# ============LICENSE_END=================================================\r
+#\r
+\r
+kind: Deployment\r
+apiVersion: apps/v1\r
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}\r
+spec:\r
+ replicas: 1\r
+ selector: {{- include "common.selectors" . | nindent 4 }}\r
+ template:\r
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}\r
+ spec:\r
+ hostname: {{ include "common.name" . }}\r
+ containers:\r
+ - name: {{ include "common.containername" . }}\r
+ image: {{ include "repository.nexusReleaseRepo" . }}/{{ .Values.image.name }}:{{ .Values.image.tag }}\r
+ imagePullPolicy: {{ .Values.imagePullPolicy }}\r
+{{- if .Values.global.useStrimziKafka }}\r
+ env:\r
+ - name: SPRING_KAFKA_SECURITY_PROPERTIES_SASL_JAAS_CONFIG\r
+ valueFrom:\r
+ secretKeyRef:\r
+ name: {{ include "common.name" . }}-ku\r
+ key: sasl.jaas.config\r
+{{- end }}\r
+ volumeMounts:\r
+ - name: {{ include "common.applicationConfigMountName" . }}\r
+ mountPath: /opt/app/teiv/config\r
+ - name: kubeconfig-volume\r
+ mountPath: /opt/app/teiv/kubeconfig\r
+ readOnly: true\r
+ volumes:\r
+{{- include "common.applicationConfigVolume" . | nindent 6 }}\r
+ - name: kubeconfig-volume\r
+ secret:\r
+ secretName: {{ include "common.name" . }}-kubeconfig\r
+ optional: true\r
--- /dev/null
+{{/*\r
+# Copyright © 2025 OpenInfra Foundation Europe. All rights reserved.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+*/}}\r
+{{ if .Values.global.useStrimziKafka }}\r
+{{ include "common.kafkauser" . }}\r
+{{ end }}\r
--- /dev/null
+# ============LICENSE_START===============================================\r
+# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved.\r
+# ========================================================================\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+# ============LICENSE_END=================================================\r
+#\r
+\r
+\r
+apiVersion: v1\r
+kind: Secret\r
+metadata:\r
+ name: {{ include "common.name" . }}-kubeconfig\r
+ namespace: {{ include "common.namespace" . }}\r
+ labels: {{- include "common.labels" . | nindent 4 }}\r
+type: Opaque\r
+data:\r
+ {{- if .Values.kubeconfig.focom }}\r
+ focom-kubeconfig.yaml: {{ .Values.kubeconfig.focom | b64enc | quote }}\r
+ {{- end }}\r
+ {{- if .Values.kubeconfig.o2ims }}\r
+ o2ims-kubeconfig.yaml: {{ .Values.kubeconfig.o2ims | b64enc | quote }}\r
+ {{- end }}
\ No newline at end of file
--- /dev/null
+# ============LICENSE_START===============================================\r
+# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved.\r
+# ========================================================================\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+# ============LICENSE_END=================================================\r
+#\r
+\r
+{{ include "common.service" . }}\r
--- /dev/null
+# ============LICENSE_START===============================================\r
+# Copyright (C) 2025 OpenInfra Foundation Europe. All rights reserved.\r
+# ========================================================================\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+# ============LICENSE_END=================================================\r
+#\r
+\r
+# These values can/will be overridden from parent values.yaml\r
+\r
+imagePullPolicy: IfNotPresent\r
+image:\r
+ name: "" # Will be set from parent values.yaml\r
+ tag: "" # Will be set from parent values.yaml\r
+service:\r
+ type: ClusterIP\r
+persistence:\r
+ size: 2Gi\r
+ storageClassName: standard\r
+\r
+# Kubeconfig files for FOCOM and O2IMS clusters\r
+# Provide kubeconfig content as YAML string\r
+kubeconfig:\r
+\r
+ # FOCOM cluster kubeconfig (YAML as string)\r
+ focom: ""\r
+\r
+ # O2IMS cluster kubeconfig (YAML as string)\r
+ o2ims: ""\r
+\r
+application:\r
+ spring:\r
+ application:\r
+ name: focom-to-teiv-adapter\r
+ kafka:\r
+ bootstrap-servers: onap-strimzi-kafka-bootstrap.onap:9092\r
+ security:\r
+ enabled: true\r
+ protocol: SASL_PLAINTEXT\r
+ properties:\r
+ sasl.mechanism: SCRAM-SHA-512\r
+ sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="" password="";\r
+ producer:\r
+ key-serializer: org.apache.kafka.common.serialization.StringSerializer\r
+ value-serializer: io.cloudevents.kafka.CloudEventSerializer\r
+\r
+ kafka:\r
+ topic: topology-inventory-ingestion\r
+\r
+ focom:\r
+ kubeconfig: kubeconfig/focom-kubeconfig.yaml\r
+\r
+ o2ims:\r
+ kubeconfig: kubeconfig/o2ims-kubeconfig.yaml\r
+\r
+ polling:\r
+ interval: 6000\r
- 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...