Sample rApp package for ics producer 10/12910/8
authorlapentafd <francesco.lapenta@est.tech>
Wed, 15 May 2024 06:48:59 +0000 (07:48 +0100)
committerlapentafd <francesco.lapenta@est.tech>
Mon, 27 May 2024 10:24:02 +0000 (11:24 +0100)
Issue-ID: NONRTRIC-965
Change-Id: Ifbbeac2d7c2d426fe8c4fd08e81af450ce8640e6
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
13 files changed:
sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/.helmignore [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/Chart.yaml [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/templates/producer-deployment.yaml [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/templates/producer-service.yaml [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/values.yaml [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Definitions/asd.yaml [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Definitions/asd_types.yaml [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Files/Acm/definition/compositions.json [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Files/Acm/instances/k8s-instance.json [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Files/Dme/infoproducers/ics-sample-producer.json [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/Files/Dme/producerinfotypes/type1.json [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/TOSCA-Metadata/TOSCA.meta [new file with mode: 0644]
sample-rapp-generator/rapp-sample-ics-producer/asd.mf [new file with mode: 0644]

diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/.helmignore b/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/.helmignore
new file mode 100644 (file)
index 0000000..0e8a0eb
--- /dev/null
@@ -0,0 +1,23 @@
+# 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
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/Chart.yaml b/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/Chart.yaml
new file mode 100644 (file)
index 0000000..e26165b
--- /dev/null
@@ -0,0 +1,6 @@
+apiVersion: v2
+name: ics-producer
+description: A Helm chart for Kubernetes
+type: application
+version: 0.1.0
+appVersion: "1.16.0"
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/templates/producer-deployment.yaml b/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/templates/producer-deployment.yaml
new file mode 100644 (file)
index 0000000..b7433fc
--- /dev/null
@@ -0,0 +1,41 @@
+#
+#   ========================LICENSE_START=================================
+#   O-RAN-SC
+#
+#   Copyright (C) 2024: OpenInfra Foundation Europe
+#
+#   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: apps/v1
+kind: Deployment
+metadata:
+  name: {{ .Values.producer.name }}
+spec:
+  replicas: {{ .Values.producer.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ .Values.producer.name }}
+  template:
+    metadata:
+      labels:
+        app: {{ .Values.producer.name }}
+    spec:
+      containers:
+      - name: {{ .Values.producer.name }}
+        image: "{{ .Values.producer.image.repository }}:{{ .Values.producer.image.tag }}"
+        ports:
+        - containerPort: {{ .Values.producer.service.port }}
+        env:
+        - name: KAFKA_SERVERS
+          value: "{{ .Values.kafka.host }}:{{ .Values.kafka.port }}"
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/templates/producer-service.yaml b/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/templates/producer-service.yaml
new file mode 100644 (file)
index 0000000..8e17906
--- /dev/null
@@ -0,0 +1,31 @@
+#
+#   ========================LICENSE_START=================================
+#   O-RAN-SC
+#
+#   Copyright (C) 2024: OpenInfra Foundation Europe
+#
+#   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: Service
+metadata:
+  name: {{ .Values.producer.name }}
+spec:
+  type: NodePort
+  ports:
+    - port: {{ .Values.producer.service.port }}
+      targetPort: {{ .Values.producer.service.port }}
+      nodePort: {{ .Values.producer.service.nodePort }}
+  selector:
+    app: {{ .Values.producer.name }}
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/values.yaml b/sample-rapp-generator/rapp-sample-ics-producer/Artifacts/Deployment/HELM/ics-producer/values.yaml
new file mode 100644 (file)
index 0000000..cc0a720
--- /dev/null
@@ -0,0 +1,32 @@
+#
+#   ========================LICENSE_START=================================
+#   O-RAN-SC
+#
+#   Copyright (C) 2024: OpenInfra Foundation Europe
+#
+#   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===================================
+#
+producer:
+  name: kafka-producer
+  replicaCount: 1
+  image:
+    repository: nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-sample-icsproducer
+    tag: 0.0.1
+  service:
+    port: 8080
+    nodePort: 30080
+
+kafka:
+  host: kafka.default.svc.cluster.local
+  port: 9092
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Definitions/asd.yaml b/sample-rapp-generator/rapp-sample-ics-producer/Definitions/asd.yaml
new file mode 100644 (file)
index 0000000..a2ace96
--- /dev/null
@@ -0,0 +1,48 @@
+#  ============LICENSE_START=======================================================\r
+#  Copyright (C) 2024 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
+#  SPDX-License-Identifier: Apache-2.0\r
+#  ============LICENSE_END=========================================================\r
+\r
+tosca_definitions_version: tosca_simple_yaml_1_2\r
+\r
+description: rApp ICS Producer\r
+\r
+imports:\r
+  - asd_types.yaml\r
+\r
+topology_template:\r
+  node_templates:\r
+    applicationServiceDescriptor:\r
+      type: tosca.nodes.asd\r
+      description: "rapp-ics-producer"\r
+      properties:\r
+        descriptor_id: 2cd6a567-2e33-4960-8ef7-1cc519c998c5\r
+        descriptor_invariant_id: 3f8a5e1b-68f1-42e5-89d0-47090dd0ef5b\r
+        descriptor_version: 1.0\r
+        schema_version: 2.0\r
+        function_description: rApp description\r
+        provider: Ericsson Software Technology (O-RAN SC NONRTRIC team)\r
+        application_name: rapp-ics-producer\r
+        application_version: 1.0\r
+      artifacts:\r
+        producer:\r
+          type: tosca.artifacts.asd.deploymentItem\r
+          file: "Artifacts/Deployment/HELM/ics-producer-0.1.0.tgz"\r
+          properties:\r
+            artifact_type: "helm_chart"\r
+            target_server: "chartmuseum"\r
+            target_server_uri: "UPDATE_THIS_CHART_MUSEUM_POST_CHARTS_URI"\r
+            item_id: 1\r
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Definitions/asd_types.yaml b/sample-rapp-generator/rapp-sample-ics-producer/Definitions/asd_types.yaml
new file mode 100644 (file)
index 0000000..c4de6ad
--- /dev/null
@@ -0,0 +1,90 @@
+#  ============LICENSE_START=======================================================\r
+#  Copyright (C) 2024 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
+#  SPDX-License-Identifier: Apache-2.0\r
+#  ============LICENSE_END=========================================================\r
+\r
+tosca_definitions_version: tosca_simple_yaml_1_2\r
+description: ASD types definitions version 0.1\r
+node_types:\r
+  tosca.nodes.asd:\r
+    derived_from: tosca.nodes.Root\r
+    description: "The ASD node type"\r
+    version: 0.1\r
+    properties:\r
+      descriptor_id:\r
+        type: string # UUID\r
+        required: true\r
+        description: Identifier of this ASD. It is in UUID format as specified in RFC 4122\r
+      descriptor_invariant_id:\r
+        type: string # UUID\r
+        required: true\r
+        description: >\r
+          Identifier of this descriptor in a version independent manner. This attribute\r
+          is invariant across versions of ASD. It is in UUID format as specified in RFC 4122\r
+      descriptor_version:\r
+        type: string\r
+        required: true\r
+        description: Identifies the version of the ASD.\r
+      schema_version:\r
+        type: string\r
+        required: true\r
+        description: Identifies the Identifies the version of this ASD’s schema.\r
+      function_description:\r
+        type: string\r
+        required: false\r
+        description: Description of the application service described by this ASD.\r
+      provider:\r
+        type: string\r
+        required: true\r
+        description: Identifies the provider of the ASD.\r
+      application_name:\r
+        type: string\r
+        required: true\r
+        description: Name to identify the application service described by this ASD\r
+      application_version:\r
+        type: string\r
+        required: true\r
+        description: Identifies the version of the application service described by this ASD.\r
+\r
+artifact_types:\r
+tosca.artifacts.asd.deploymentItem:\r
+  version: 0.1\r
+  derived_from: tosca.artifacts.Root\r
+  description: "Describes the artifact type of asd deployment item"\r
+  file: "Relative path of the artifact in the package"\r
+  properties:\r
+    item_id:\r
+      description: "The identifier of this asd deployment item"\r
+      required: true\r
+      type: string\r
+    artifact_type:\r
+      description: >\r
+        Specify artifact type.\r
+      required: true\r
+      type: string\r
+      constraints:\r
+        - valid_values: ["helm_chart"]\r
+    target_server:\r
+      description: >\r
+        Specify target server for artifact.\r
+      required: true\r
+      type: string\r
+      constraints:\r
+        - valid_values: [ "chartmuseum" ]\r
+    target_server_uri:\r
+      description: "URI of the target server"\r
+      required: true\r
+      type: string
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Files/Acm/definition/compositions.json b/sample-rapp-generator/rapp-sample-ics-producer/Files/Acm/definition/compositions.json
new file mode 100644 (file)
index 0000000..e64d882
--- /dev/null
@@ -0,0 +1,320 @@
+{
+  "tosca_definitions_version": "tosca_simple_yaml_1_3",
+  "data_types": {
+    "onap.datatypes.ToscaConceptIdentifier": {
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "name": {
+          "type": "string",
+          "required": true
+        },
+        "version": {
+          "type": "string",
+          "required": true
+        }
+      }
+    },
+    "org.onap.datatypes.policy.clamp.acm.kserveAutomationCompositionElement.KserveInferenceEntity": {
+      "version": "1.0.0",
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "kserveEntityId": {
+          "type": "onap.datatypes.ToscaConceptIdentifier",
+          "required": true,
+          "description": "The name and version of a Configuration Entity to be handled by the Kserve Automation Composition Element"
+        },
+        "name": {
+          "type": "string",
+          "required": true,
+          "description": "Inference service name to be created"
+        },
+        "payload": {
+          "type": "string",
+          "required": true,
+          "description": "Inference Service payload"
+        }
+      }
+    },
+    "org.onap.datatypes.policy.clamp.acm.a1pmsAutomationCompositionElement.A1PolicyServiceEntity": {
+      "version": "1.0.0",
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "a1PolicyServiceEntityId": {
+          "type": "onap.datatypes.ToscaConceptIdentifier",
+          "required": true,
+          "description": "The name and version of a Configuration Entity to be handled by the A1 PMS Automation Composition Element"
+        },
+        "clientId": {
+          "type": "string",
+          "required": true,
+          "description": "Client Id to be created"
+        },
+        "callbackUrl": {
+          "type": "string",
+          "required": true,
+          "description": "The callback URL to get registered"
+        },
+        "keepAliveIntervalSeconds": {
+          "type": "integer",
+          "required": true,
+          "description": "Keep alive interval time for the callback URL"
+        }
+      }
+    }
+  },
+  "node_types": {
+    "org.onap.policy.clamp.acm.Participant": {
+      "version": "1.0.1",
+      "derived_from": "tosca.nodetypes.Root",
+      "properties": {
+        "provider": {
+          "type": "string",
+          "required": false
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.AutomationCompositionElement": {
+      "version": "1.0.1",
+      "derived_from": "tosca.nodetypes.Root",
+      "properties": {
+        "provider": {
+          "type": "string",
+          "required": false
+        },
+        "participantType": {
+          "type": "onap.datatypes.ToscaConceptIdentifier",
+          "required": true
+        },
+        "startPhase": {
+          "type": "integer",
+          "required": false,
+          "constraints": [
+            {
+              "greater-or-equal": 0
+            }
+          ],
+          "metadata": {
+            "common": true
+          },
+          "description": "A value indicating the start phase in which this automation composition element will be started, the first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped in reverse start phase order. Automation Composition Elements with the same start phase are started and stopped simultaneously"
+        },
+        "passiveToRunningTimeout": {
+          "type": "integer",
+          "required": false,
+          "constraints": [
+            {
+              "greater_or_equal": 0
+            }
+          ],
+          "default": 60,
+          "metadata": {
+            "common": true
+          },
+          "description": "The maximum time in seconds to wait for a state chage from passive to running"
+        },
+        "runningToPassiveTimeout": {
+          "type": "integer",
+          "required": false,
+          "constraints": [
+            {
+              "greater_or_equal": 0
+            }
+          ],
+          "default": 60,
+          "metadata": {
+            "common": true
+          },
+          "description": "The maximum time in seconds to wait for a state chage from running to passive"
+        },
+        "passiveToUninitializedTimeout": {
+          "type": "integer",
+          "required": false,
+          "constraints": [
+            {
+              "greater_or_equal": 0
+            }
+          ],
+          "default": 60,
+          "metadata": {
+            "common": true
+          },
+          "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized"
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.AutomationComposition": {
+      "version": "1.0.1",
+      "derived_from": "tosca.nodetypes.Root",
+      "properties": {
+        "provider": {
+          "type": "string",
+          "required": false,
+          "metadata": {
+            "common": true
+          }
+        },
+        "elements": {
+          "type": "list",
+          "required": true,
+          "metadata": {
+            "common": true
+          },
+          "entry_schema": {
+            "type": "onap.datatypes.ToscaConceptIdentifier"
+          }
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.KserveAutomationCompositionElement": {
+      "version": "1.0.1",
+      "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+      "properties": {
+        "kserveInferenceEntities": {
+          "type": "list",
+          "required": true,
+          "entry_schema": {
+            "type": "org.onap.datatypes.policy.clamp.acm.kserveAutomationCompositionElement.KserveInferenceEntity",
+            "type_version": "1.0.0"
+          },
+          "description": "The configuration entities of Kserve inference service"
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.A1PMSAutomationCompositionElement": {
+      "version": "1.0.1",
+      "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+      "properties": {
+        "policyServiceEntities": {
+          "type": "list",
+          "required": true,
+          "entry_schema": {
+            "type": "org.onap.datatypes.policy.clamp.acm.a1pmsAutomationCompositionElement.A1PolicyServiceEntity",
+            "type_version": "1.0.0"
+          },
+          "description": "The configuration entities of A1 policy services"
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement": {
+      "version": "1.0.0",
+      "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+      "properties": {
+        "chart": {
+          "type": "string",
+          "required": true
+        },
+        "configs": {
+          "type": "list",
+          "required": false
+        },
+        "requirements": {
+          "type": "string",
+          "required": false
+        },
+        "templates": {
+          "type": "list",
+          "required": false,
+          "entry_schema": null
+        },
+        "values": {
+          "type": "string",
+          "required": true
+        }
+      }
+    }
+  },
+  "topology_template": {
+    "node_templates": {
+      "org.onap.policy.clamp.acm.KserveParticipant": {
+        "version": "2.3.4",
+        "type": "org.onap.policy.clamp.acm.Participant",
+        "type_version": "1.0.1",
+        "description": "Participant for Kserve requests",
+        "properties": {
+          "provider": "ONAP"
+        }
+      },
+      "org.onap.policy.clamp.acm.A1PMSAutomationCompositionParticipant": {
+        "version": "2.3.4",
+        "type": "org.onap.policy.clamp.acm.Participant",
+        "type_version": "1.0.1",
+        "description": "Participant for A1 PMS requests",
+        "properties": {
+          "provider": "ONAP"
+        }
+      },
+      "org.onap.k8s.acm.K8SAutomationCompositionParticipant": {
+        "version": "2.3.4",
+        "type": "org.onap.policy.clamp.acm.Participant",
+        "type_version": "1.0.1",
+        "description": "Participant for K8S",
+        "properties": {
+          "provider": "ONAP"
+        }
+      },
+      "onap.policy.clamp.ac.element.KserveAutomationCompositionElement": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.KserveAutomationCompositionElement",
+        "type_version": "1.0.1",
+        "description": "Automation composition element for the Kserve Requests",
+        "properties": {
+          "provider": "ONAP",
+          "participantType": {
+            "name": "org.onap.policy.clamp.acm.KserveParticipant",
+            "version": "2.3.4"
+          },
+          "uninitializedToPassiveTimeout": 300,
+          "statusCheckInterval": 30
+        }
+      },
+      "onap.policy.clamp.ac.element.A1PMSAutomationCompositionElement": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.A1PMSAutomationCompositionElement",
+        "type_version": "1.0.1",
+        "description": "Automation composition element for the A1 PMS Requests",
+        "properties": {
+          "provider": "ONAP",
+          "participantType": {
+            "name": "org.onap.policy.clamp.acm.A1PMSParticipant",
+            "version": "2.3.4"
+          }
+        }
+      },
+      "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
+        "type_version": "1.0.0",
+        "description": "Automation composition element for the K8S microservice for AC Element Starter",
+        "properties": {
+          "provider": "ONAP",
+          "startPhase": 0,
+          "uninitializedToPassiveTimeout": 300,
+          "podStatusCheckInterval": 30
+        }
+      },
+      "onap.policy.clamp.ac.element.AutomationCompositionDefinition": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.AutomationComposition",
+        "type_version": "1.0.1",
+        "description": "Automation composition for rapp deployment",
+        "properties": {
+          "provider": "ONAP",
+          "elements": [
+            {
+              "name": "onap.policy.clamp.ac.element.KserveAutomationCompositionElement",
+              "version": "1.2.3"
+            },
+            {
+              "name": "onap.policy.clamp.ac.element.A1PMSAutomationCompositionElement",
+              "version": "1.2.3"
+            },
+            {
+              "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
+              "version": "1.2.3"
+            }
+          ]
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Files/Acm/instances/k8s-instance.json b/sample-rapp-generator/rapp-sample-ics-producer/Files/Acm/instances/k8s-instance.json
new file mode 100644 (file)
index 0000000..c04f816
--- /dev/null
@@ -0,0 +1,31 @@
+{
+  "name": "DemoInstance0",
+  "version": "1.0.1",
+  "compositionId": "DO_NOT_CHANGE_THIS_COMPOSITION_ID",
+  "description": "Demo automation composition instance 0",
+  "elements": {
+    "ea40d074-17c6-4f34-a6ea-6e464ac4cc37": {
+      "id": "ea40d074-17c6-4f34-a6ea-6e464ac4cc37",
+      "definition": {
+        "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
+        "version": "1.2.3"
+      },
+      "description": "Starter Automation Composition Element for ICS Producer",
+      "properties": {
+        "chart": {
+          "chartId": {
+            "name": "ics-producer",
+            "version": "0.1.0"
+          },
+          "namespace": "nonrtric",
+          "releaseName": "ics-producer",
+          "podName": "ics-producer",
+          "repository": {
+            "repoName": "local",
+            "address": "UPDATE_THIS_CHART_MUSEUM_GET_CHARTS_URI"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Files/Dme/infoproducers/ics-sample-producer.json b/sample-rapp-generator/rapp-sample-ics-producer/Files/Dme/infoproducers/ics-sample-producer.json
new file mode 100644 (file)
index 0000000..a1d7212
--- /dev/null
@@ -0,0 +1,7 @@
+{
+  "info_producer_supervision_callback_url": "http://kafka-producer:8080/producer/supervision",
+  "supported_info_types": [
+    "type1"
+  ],
+  "info_job_callback_url": "http://kafka-producer:8080/producer/job"
+}
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/Files/Dme/producerinfotypes/type1.json b/sample-rapp-generator/rapp-sample-ics-producer/Files/Dme/producerinfotypes/type1.json
new file mode 100644 (file)
index 0000000..7869860
--- /dev/null
@@ -0,0 +1,9 @@
+{
+  "info_job_data_schema": {
+    "$schema":"http://json-schema.org/draft-07/schema#",
+    "title":"STD_Type1_1.0.0",
+    "description":"Type 1",
+    "topic": "mytopic",
+    "bootStrapServers": "kafka.default.svc.cluster.local:9092"
+    }
+}
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/TOSCA-Metadata/TOSCA.meta b/sample-rapp-generator/rapp-sample-ics-producer/TOSCA-Metadata/TOSCA.meta
new file mode 100644 (file)
index 0000000..3da5f0d
--- /dev/null
@@ -0,0 +1,5 @@
+TOSCA-Meta-File-Version: 1.0\r
+CSAR-Version: 1.0\r
+Created-By: Ericsson Software Technology (O-RAN SC NONRTRIC team)\r
+Entry-Definitions: Definitions/asd.yaml\r
+ETSI-Entry-Manifest: asd.mf
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-producer/asd.mf b/sample-rapp-generator/rapp-sample-ics-producer/asd.mf
new file mode 100644 (file)
index 0000000..caabf92
--- /dev/null
@@ -0,0 +1,13 @@
+metadata:\r
+  application_name: rapp-sample-ics-producer\r
+  application_provider: Ericsson Software Technology (O-RAN SC NONRTRIC team)\r
+  release_date_time: 2024-05-03T12:00:00+00:00\r
+  entry_definition_type: asd\r
+\r
+Source: asd.mf\r
+Source: Artifacts/Deployment/HELM/ics-producer-0.1.0.tgz\r
+Source: Definitions/asd.yaml\r
+Source: Definitions/asd_types.yaml\r
+Source: TOSCA-Metadata/TOSCA.meta\r
+Source: Files/Dme/infoproducers/ics-sample-producer.json\r
+Source: Files/Dme/producerinfotypes/type1.json
\ No newline at end of file