blob: 7fd907f9aaa91ef946c24278db059dd1821876fc [file] [log] [blame]
Rich Bennett4b001932017-10-16 09:25:01 -04001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
Idan Amitd059aea2017-11-05 15:07:20 +02004========
Rich Bennett4b001932017-10-16 09:25:01 -04005Delivery
6========
JulienBe14cee3e2020-06-11 12:06:09 +02007
Idan Amitd059aea2017-11-05 15:07:20 +02008
JulienBe14cee3e2020-06-11 12:06:09 +02009SDC Dockers Containers
10======================
11
12Overview
13--------
14
15+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
16| Name | Content of the container | On Startup |
17+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
18| sdc-cs-init | Logic for creating the **schemas for SDC catalog** server | Create the **schemas** |
19+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
20| sdc-cs-onboard init | Logic for creating the **schemas for SDC onboarding** server | Create the **schemas** |
21+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
ChrisC8143fb52020-11-13 15:04:38 +010022| sdc-cs | **Cassandra** server, this is optional as SDC uses shared ONAP Cassandra by| Starts **Cassandra** |
23| | default | |
JulienBe14cee3e2020-06-11 12:06:09 +020024+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
25| sdc-onboard-BE | Onboarding **Backend** Jetty server | Starts Jetty with the application. |
26+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
27| sdc-BE | **Backend** Jetty server | Starts Jetty with the application. |
28+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
29| sdc-BE-init | Logic for importing the SDC **Tosca normative types** | Executes the rest calls for the catalog server |
30| | Logic for configuring **external users** for SDC external api's | |
31+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
32| sdc-FE | SDC **Frontend** Jetty server | Starts Jetty with our application. |
33+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
ChrisC8143fb52020-11-13 15:04:38 +010034| sdc-WFD-BE-init | Logic for configuring **Workflow Designer** | Execute configuration tasks of the WFD |
35+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
36| sdc-WFD-BE | SDC Workflow **Backtend** Jetty server | Starts Jetty with our application. |
37+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
38| sdc-WFD-FE | SDC Workflow **Frontend** Jetty server | Starts Jetty with our application. |
39+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
Tomasz Wrobelac69ef12021-05-18 16:04:25 +020040| sdc-helm-validator | SDC container for Helm package validation | Starts server with our application. |
41+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
JulienBe14cee3e2020-06-11 12:06:09 +020042
43
44Deployement dependency map
45--------------------------
46
47.. blockdiag::
48
49 orientation = portrait
50 class job [color = "#FFA300", style = dotted, shape = "box"]
51 class app [color = "#29ADFF", shape = "roundedbox"]
52 fe [label = "sdc-frontend", class = "app"];
53 be [label = "sdc-backend", class = "app"];
54 onboarding-be [label = "sdc-onboarding-backend", class = "app"];
55 cassandra [label = "sdc-cassandra", class = "app"];
56 be-config [label = "sdc-backend-config", class = "job"];
57 cassandra-config [label = "sdc-cassandra-config", class = "job"];
58 onboarding-init [label = "sdc-onboarding-init", class = "job"];
ChrisC9f4c8882020-11-16 15:01:03 +010059 sdc-WFD-FE [label = "sdc-workflow-fe", class = "app"];
60 sdc-WFD-BE [label = "sdc-workflow-be", class = "app"];
61 sdc-WFD-BE-init [label = "sdc-workflow-init", class = "job"];
JulienBe14cee3e2020-06-11 12:06:09 +020062 job [class = "job"];
63 app [class = "app"];
64
65 fe -> be-config -> be -> onboarding-be -> onboarding-init -> cassandra-config -> cassandra;
ChrisC9f4c8882020-11-16 15:01:03 +010066 sdc-WFD-FE -> sdc-WFD-BE-init -> sdc-WFD-BE -> cassandra-config;
JulienBe14cee3e2020-06-11 12:06:09 +020067
68Connectivity Matrix
69-------------------
70
71+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
72| Name | API purpose | protocol | port number / range | TCP / UDP |
73+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
74| sdc-cassandra | SDC backend uses the two protocols to access Cassandra | trift/async | 9042 / 9160 | TCP |
75+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
76| sdc-onboard-backend | Access the onboarding functionality | http(s) | 8081 / 8445 | TCP |
77+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
78| sdc-backend | Access the catalog functionality | http(s) | 8080 / 8443 | TCP |
79+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
80| sdc-frontend | Access SDC UI and proxy requests to SDC backend | http(s) | 8181 / 9443 | TCP |
81+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
82
83Offered APIs
84------------
85
86+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
87| container / vm name | address | API purpose | protocol | port number | TCP / UDP |
88+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
89| sdc-fe | /sdc1/feproxy/* | Proxy for all REST calls from SDC UI | HTTP(S) | 8181 / 8443 | TCP |
90+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
91| sdc-be | /sdc2/* | Internal APIs used by the UI. Request is passed through front end proxy | HTTP(S) | 8080 / 8443 | TCP |
92+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
93| | /sdc/* | External APIs offered to the different components for retrieving info from SDC catalog. | HTTP(S) | 8080 / 8443 | TCP |
94+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
95| sdc-onboarding-be | /onboarding/api/* | Internal APIs used by the UI | HTTP(S) | 8080 / 8443 | TCP |
96+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
97
98
99Structure
100---------
Rich Bennett4b001932017-10-16 09:25:01 -0400101
Idan Amitd059aea2017-11-05 15:07:20 +0200102Below is a diagram of the SDC project docker containers and the connections between them.
Rich Bennett4b001932017-10-16 09:25:01 -0400103
104.. blockdiag::
105
106
Idan Amitd059aea2017-11-05 15:07:20 +0200107 blockdiag delivery {
ChrisC8143fb52020-11-13 15:04:38 +0100108 node_width = 140;
Idan Amitd059aea2017-11-05 15:07:20 +0200109 orientation = portrait;
Michael Landodb0e8982018-06-06 11:44:25 +0300110 sdc-cassandra[shape = flowchart.database , color = grey]
Ofir Sonsino61f39492020-04-01 10:52:28 +0300111 sdc-frontend [color = blue, textcolor="white"]
Michael Landodb0e8982018-06-06 11:44:25 +0300112 sdc-backend [color = yellow]
Michael Landodb0e8982018-06-06 11:44:25 +0300113 sdc-onboarding-backend [color = yellow]
ChrisC8143fb52020-11-13 15:04:38 +0100114 sdc-backend [color = yellow]
115 sdc-WFD-frontend [color = brown]
116 sdc-WFD-backend [color = brown]
117 sdc-WFD-BE-init [color = brown]
Michael Landodb0e8982018-06-06 11:44:25 +0300118 sdc-cassandra-Config [color = orange]
Michael Landodb0e8982018-06-06 11:44:25 +0300119 sdc-backend-config [color = orange]
120 sdc-onboarding-init [color = orange]
ChrisC8143fb52020-11-13 15:04:38 +0100121 sdc-WFD-BE-init -> sdc-WFD-backend;
Michael Landodb0e8982018-06-06 11:44:25 +0300122 sdc-onboarding-init -> sdc-onboarding-backend;
123 sdc-cassandra-Config -> sdc-cassandra;
Michael Landodb0e8982018-06-06 11:44:25 +0300124 sdc-backend-config -> sdc-backend;
125 sdc-wss-simulator -> sdc-frontend;
ChrisC9f4c8882020-11-16 15:01:03 +0100126 sdc-WFD-frontend -> sdc-WFD-backend;
Michael Landodb0e8982018-06-06 11:44:25 +0300127 sdc-frontend -> sdc-backend, sdc-onboarding-backend;
ChrisC9f4c8882020-11-16 15:01:03 +0100128 sdc-WFD-backend -> sdc-cassandra;
Ofir Sonsino61f39492020-04-01 10:52:28 +0300129 sdc-backend -> sdc-cassandra;
Michael Landodb0e8982018-06-06 11:44:25 +0300130 sdc-onboarding-backend -> sdc-cassandra;
131 sdc-sanity -> sdc-backend;
132 sdc-ui-sanity -> sdc-frontend;
133 group deploy_group {
134 color = green;
seshukm86b2f6d2018-10-03 20:35:52 +0800135 label = "Application Layer"
ChrisC8143fb52020-11-13 15:04:38 +0100136 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;
Idan Amitd059aea2017-11-05 15:07:20 +0200137 }
138 group testing_group {
Michael Landodb0e8982018-06-06 11:44:25 +0300139 color = purple;
Idan Amitd059aea2017-11-05 15:07:20 +0200140 label = "Testing Layer";
Michael Landodb0e8982018-06-06 11:44:25 +0300141 sdc-sanity; sdc-ui-sanity
142 }
143 group util_group {
144 color = purple;
145 label = "Util Layer";
146 sdc-wss-simulator;
Idan Amitd059aea2017-11-05 15:07:20 +0200147 }
148 }