Fix wrongly generated tosca implementation
[sdc.git] / docs / delivery.rst
index f337f08..7fd907f 100644 (file)
@@ -5,19 +5,99 @@
 Delivery
 ========
 
-.. note::
-   * This section is used to describe a software component packaging.
-     For a run-time component this might be executable images, containers, etc.
-     For an SDK this might be libraries.
-
-   * This section is typically provided for a platform-component and sdk;
-     and referenced in developer and user guides
-   
-   * This note must be removed after content has been added.
-   
    
-SDC Dockers Containers Structure
-================================
+SDC Dockers Containers
+======================
+
+Overview
+--------
+
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| Name                | Content of the container                                                   | On Startup                                     |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-cs-init         | Logic for creating the **schemas for SDC catalog** server                  | Create the **schemas**                         |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-cs-onboard init | Logic for creating the **schemas for SDC onboarding** server               | Create the **schemas**                         |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-cs              | **Cassandra** server, this is optional as SDC uses shared ONAP Cassandra by| Starts **Cassandra**                           |
+|                     | default                                                                    |                                                |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-onboard-BE      | Onboarding **Backend** Jetty server                                        | Starts Jetty with the application.             |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-BE              | **Backend** Jetty server                                                   | Starts Jetty with the application.             |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-BE-init         | Logic for importing the SDC **Tosca normative types**                      | Executes the rest calls for the catalog server |
+|                     | Logic for configuring **external users** for SDC external api's            |                                                |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-FE              | SDC **Frontend** Jetty server                                              | Starts Jetty with our application.             |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-WFD-BE-init     | Logic for configuring **Workflow Designer**                                | Execute configuration tasks of the WFD         |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-WFD-BE          | SDC Workflow **Backtend** Jetty server                                     | Starts Jetty with our application.             |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-WFD-FE          | SDC Workflow **Frontend** Jetty server                                     | Starts Jetty with our application.             |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+| sdc-helm-validator  | SDC container for Helm package validation                                  | Starts server with our application.            |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
+
+
+Deployement dependency map
+--------------------------
+
+.. blockdiag::
+
+    orientation = portrait
+    class job [color = "#FFA300", style = dotted, shape = "box"]
+    class app [color = "#29ADFF", shape = "roundedbox"]
+    fe [label = "sdc-frontend", class = "app"];
+    be [label = "sdc-backend", class = "app"];
+    onboarding-be [label = "sdc-onboarding-backend", class = "app"];
+    cassandra [label = "sdc-cassandra", class = "app"];
+    be-config [label = "sdc-backend-config", class = "job"];
+    cassandra-config [label = "sdc-cassandra-config", class = "job"];
+    onboarding-init [label = "sdc-onboarding-init", class = "job"];
+    sdc-WFD-FE [label = "sdc-workflow-fe", class = "app"];
+    sdc-WFD-BE [label = "sdc-workflow-be", class = "app"];
+    sdc-WFD-BE-init [label = "sdc-workflow-init", class = "job"];
+    job [class = "job"];
+    app [class = "app"];
+
+    fe -> be-config -> be -> onboarding-be -> onboarding-init -> cassandra-config -> cassandra;
+    sdc-WFD-FE -> sdc-WFD-BE-init -> sdc-WFD-BE -> cassandra-config;
+
+Connectivity Matrix
+-------------------
+
++---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
+| Name                | API purpose                                                  | protocol    | port number / range | TCP / UDP |
++---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
+| sdc-cassandra       | SDC backend uses the two protocols to access Cassandra       | trift/async | 9042 / 9160         | TCP       |
++---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
+| sdc-onboard-backend | Access the onboarding functionality                          | http(s)     | 8081 / 8445         | TCP       |
++---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
+| sdc-backend         | Access the catalog functionality                             | http(s)     | 8080 / 8443         | TCP       |
++---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
+| sdc-frontend        | Access SDC UI and proxy requests to SDC backend              | http(s)     | 8181 / 9443         | TCP       |
++---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
+
+Offered APIs
+------------
+
++---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
+| container / vm name | address           | API purpose                                                                             | protocol | port number | TCP / UDP |
++---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
+| sdc-fe              | /sdc1/feproxy/*   | Proxy for all REST calls from SDC UI                                                    | HTTP(S)  | 8181 / 8443 | TCP       |
++---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
+| sdc-be              | /sdc2/*           | Internal APIs used by the UI. Request is passed through front end proxy                 | HTTP(S)  | 8080 / 8443 | TCP       |
++---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
+|                     | /sdc/*            | External APIs offered to the different components for retrieving info from SDC catalog. | HTTP(S)  | 8080 / 8443 | TCP       |
++---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
+| sdc-onboarding-be   | /onboarding/api/* | Internal APIs used by the UI                                                            | HTTP(S)  | 8080 / 8443 | TCP       |
++---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
+
+
+Structure
+---------
 
 Below is a diagram of the SDC project docker containers and the connections between them.
 
@@ -25,31 +105,44 @@ Below is a diagram of the SDC project docker containers and the connections betw
    
 
     blockdiag delivery {
-        node_width = 170;
+        node_width = 140;
         orientation = portrait;
-        SDC-Elasticsearch[shape = flowchart.database]
-        SDC-Cassandra[shape = flowchart.database]
-        SDC-Frontend -> SDC-Backend;
-        SDC-Backend -> SDC-Elasticsearch, SDC-Cassandra;
-        SDC-Sanity -> SDC-Backend;
-        group ui_group {
-            color = blue;
-            label = "UI Layer";
-            SDC-Frontend;
-        }
-        group bi_group {
-            color = yellow;
-            label = "Business Login Layer"
-            SDC-Backend;
-        }
-        group data_storage_group {
-            color = orange;
-            label = "Data Storage Layer"
-            SDC-Elasticsearch; SDC-Cassandra;
+        sdc-cassandra[shape = flowchart.database , color = grey]
+        sdc-frontend [color = blue, textcolor="white"]
+        sdc-backend [color = yellow]
+        sdc-onboarding-backend [color = yellow]
+        sdc-backend [color = yellow]
+        sdc-WFD-frontend [color = brown]
+        sdc-WFD-backend [color = brown]
+        sdc-WFD-BE-init [color = brown]
+        sdc-cassandra-Config [color = orange]
+        sdc-backend-config [color = orange]
+        sdc-onboarding-init [color = orange]
+        sdc-WFD-BE-init -> sdc-WFD-backend;
+        sdc-onboarding-init -> sdc-onboarding-backend;
+        sdc-cassandra-Config -> sdc-cassandra;
+        sdc-backend-config -> sdc-backend;
+        sdc-wss-simulator -> sdc-frontend;
+        sdc-WFD-frontend -> sdc-WFD-backend;
+        sdc-frontend -> sdc-backend, sdc-onboarding-backend;
+        sdc-WFD-backend -> sdc-cassandra;
+        sdc-backend -> sdc-cassandra;
+        sdc-onboarding-backend -> sdc-cassandra;
+        sdc-sanity -> sdc-backend;
+        sdc-ui-sanity -> sdc-frontend;
+        group deploy_group {
+            color = green;
+            label = "Application Layer"
+            sdc-backend; sdc-onboarding-backend; sdc-frontend; sdc-cassandra; sdc-cassandra-Config; sdc-backend-config; sdc-onboarding-init; sdc-WFD-frontend; sdc-WFD-backend; sdc-WFD-BE-init;
         }
         group testing_group {
-            color = green;
+            color = purple;
             label = "Testing Layer";
-            SDC-Sanity;
+            sdc-sanity; sdc-ui-sanity
+        }
+        group util_group {
+            color = purple;
+            label = "Util Layer";
+            sdc-wss-simulator;
         }
     }