Documentation of Data file collector
[nonrtric/plt/ranpm.git] / datafilecollector / docs / overview.rst
diff --git a/datafilecollector/docs/overview.rst b/datafilecollector/docs/overview.rst
new file mode 100644 (file)
index 0000000..6cf45a3
--- /dev/null
@@ -0,0 +1,117 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2023 Nordix
+
+
+Data File Collector
+~~~~~~~~~~~~~~~~~~~
+
+************
+Introduction
+************
+
+The task of the Data File Collector is to collect files from traffical nodes in the RAN.
+The main use case is:
+
+* The DFC received a File Ready VES event from a Kafka topic. This contains a list of all available files.
+
+* The DFC fetches files that are not already fectched from the traffical node. This is done using one of the supported file transfer protocols.
+
+* Each file is stored in an S3 Object Store bucket or in the file system (in a persistent volume).
+
+* For each stored file, a file publish message is sent to a Kafka topic for further processing.
+
+Supported file transfer protocols are:
+
+* SFTP
+
+* FTPES
+
+* HTTP
+
+* HTTPS
+
+
+The service is implemented in Java Spring Boot.
+
+.. image:: ./Architecture.png
+   :width: 1000pt
+
+This product is a part of :doc:`NONRTRIC <nonrtric:index>`.
+
+**************************
+Input File Ready VES Event
+**************************
+
+Here follows an example of the expected input object:
+
+.. code-block:: javascript
+
+  {
+   "event":{
+      "commonEventHeader":{
+         "sequence":0,
+         "eventName":"Noti_RnNode-Ericsson_FileReady",
+         "sourceName":"5GRAN_DU",
+         "lastEpochMicrosec":151983,
+         "startEpochMicrosec":15198378,
+         "timeZoneOffset":"UTC+05:00",
+         "changeIdentifier":"PM_MEAS_FILES"
+      },
+      "notificationFields":{
+         "notificationFieldsVersion":"notificationFieldsVersion",
+         "changeType":"FileReady",
+         "changeIdentifier":"PM_MEAS_FILES",
+         "arrayOfNamedHashMap":[
+            {
+               "name":"A20220418.1900-1915_seliitdus00487.xml",
+               "hashMap":{
+                  "fileFormatType":"org.3GPP.32.435#measCollec",
+                  "location":"https://launchpad.net/ubuntu/+source/perf-tools-unstable/1.0+git7ffb3fd-1ubuntu1/+build/13630748/+files/perf-tools-unstable_1.0+git7ffb3fd-1ubuntu1_all.deb",
+                  "fileFormatVersion":"V10",
+                  "compression":"gzip"
+               }
+            }
+         ]
+      }
+   }
+ }
+
+
+***************************
+Output File Publish Message
+***************************
+
+
+Below follows an example of an output File Publish Message. .
+
+.. code-block:: javascript
+
+   {
+     "productName":"RnNode",
+     "vendorName":"Ericsson",
+     "lastEpochMicrosec":151983,
+     "sourceName":"5GRAN_DU",
+     "startEpochMicrosec":15198378,
+     "timeZoneOffset":"UTC+05:00",
+     "compression":"gzip",
+     "fileFormatType":"org.3GPP.32.435#measCollec",
+     "fileFormatVersion":"V10",
+     "name":"5GRAN_DU/A20220418.1900-1915_seliitdus00487.xml",
+     "changeIdentifier":"PM_MEAS_FILES",
+     "objectStoreBucket":"ropfiles"
+  }
+
+
+*************
+Configuration
+*************
+
+The DFC is configured via its application.yaml
+
+
+An example application.yaml configuration file: ":download:`link <../config/application.yaml>`"
+
+
+
+