blob: 21c860c0a0a378da889e3d8c46a60bc930785a29 [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+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
22| sdc-cs | **Cassandra** server | Starts **Cassandra** |
23+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
24| sdc-onboard-BE | Onboarding **Backend** Jetty server | Starts Jetty with the application. |
25+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
26| sdc-BE | **Backend** Jetty server | Starts Jetty with the application. |
27+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
28| sdc-BE-init | Logic for importing the SDC **Tosca normative types** | Executes the rest calls for the catalog server |
29| | Logic for configuring **external users** for SDC external api's | |
30+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
31| sdc-FE | SDC **Frontend** Jetty server | Starts Jetty with our application. |
32+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
33
34
35Deployement dependency map
36--------------------------
37
38.. blockdiag::
39
40 orientation = portrait
41 class job [color = "#FFA300", style = dotted, shape = "box"]
42 class app [color = "#29ADFF", shape = "roundedbox"]
43 fe [label = "sdc-frontend", class = "app"];
44 be [label = "sdc-backend", class = "app"];
45 onboarding-be [label = "sdc-onboarding-backend", class = "app"];
46 cassandra [label = "sdc-cassandra", class = "app"];
47 be-config [label = "sdc-backend-config", class = "job"];
48 cassandra-config [label = "sdc-cassandra-config", class = "job"];
49 onboarding-init [label = "sdc-onboarding-init", class = "job"];
50 job [class = "job"];
51 app [class = "app"];
52
53 fe -> be-config -> be -> onboarding-be -> onboarding-init -> cassandra-config -> cassandra;
54
55Connectivity Matrix
56-------------------
57
58+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
59| Name | API purpose | protocol | port number / range | TCP / UDP |
60+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
61| sdc-cassandra | SDC backend uses the two protocols to access Cassandra | trift/async | 9042 / 9160 | TCP |
62+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
63| sdc-onboard-backend | Access the onboarding functionality | http(s) | 8081 / 8445 | TCP |
64+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
65| sdc-backend | Access the catalog functionality | http(s) | 8080 / 8443 | TCP |
66+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
67| sdc-frontend | Access SDC UI and proxy requests to SDC backend | http(s) | 8181 / 9443 | TCP |
68+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
69
70Offered APIs
71------------
72
73+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
74| container / vm name | address | API purpose | protocol | port number | TCP / UDP |
75+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
76| sdc-fe | /sdc1/feproxy/* | Proxy for all REST calls from SDC UI | HTTP(S) | 8181 / 8443 | TCP |
77+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
78| sdc-be | /sdc2/* | Internal APIs used by the UI. Request is passed through front end proxy | HTTP(S) | 8080 / 8443 | TCP |
79+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
80| | /sdc/* | External APIs offered to the different components for retrieving info from SDC catalog. | HTTP(S) | 8080 / 8443 | TCP |
81+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
82| sdc-onboarding-be | /onboarding/api/* | Internal APIs used by the UI | HTTP(S) | 8080 / 8443 | TCP |
83+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
84
85
86Structure
87---------
Rich Bennett4b001932017-10-16 09:25:01 -040088
Idan Amitd059aea2017-11-05 15:07:20 +020089Below is a diagram of the SDC project docker containers and the connections between them.
Rich Bennett4b001932017-10-16 09:25:01 -040090
91.. blockdiag::
92
93
Idan Amitd059aea2017-11-05 15:07:20 +020094 blockdiag delivery {
Sonsino, Ofir (os0695)56ad07f2018-12-23 17:09:47 +020095 node_width = 100;
Idan Amitd059aea2017-11-05 15:07:20 +020096 orientation = portrait;
Michael Landodb0e8982018-06-06 11:44:25 +030097 sdc-cassandra[shape = flowchart.database , color = grey]
Ofir Sonsino61f39492020-04-01 10:52:28 +030098 sdc-frontend [color = blue, textcolor="white"]
Michael Landodb0e8982018-06-06 11:44:25 +030099 sdc-backend [color = yellow]
Michael Landodb0e8982018-06-06 11:44:25 +0300100 sdc-onboarding-backend [color = yellow]
101 sdc-cassandra-Config [color = orange]
Michael Landodb0e8982018-06-06 11:44:25 +0300102 sdc-backend-config [color = orange]
103 sdc-onboarding-init [color = orange]
104 sdc-onboarding-init -> sdc-onboarding-backend;
105 sdc-cassandra-Config -> sdc-cassandra;
Michael Landodb0e8982018-06-06 11:44:25 +0300106 sdc-backend-config -> sdc-backend;
107 sdc-wss-simulator -> sdc-frontend;
108 sdc-frontend -> sdc-backend, sdc-onboarding-backend;
Ofir Sonsino61f39492020-04-01 10:52:28 +0300109 sdc-backend -> sdc-cassandra;
Michael Landodb0e8982018-06-06 11:44:25 +0300110 sdc-onboarding-backend -> sdc-cassandra;
111 sdc-sanity -> sdc-backend;
112 sdc-ui-sanity -> sdc-frontend;
113 group deploy_group {
114 color = green;
seshukm86b2f6d2018-10-03 20:35:52 +0800115 label = "Application Layer"
Ofir Sonsino61f39492020-04-01 10:52:28 +0300116 sdc-backend; sdc-onboarding-backend; sdc-frontend; sdc-cassandra; sdc-cassandra-Config; sdc-backend-config; sdc-onboarding-init;
Idan Amitd059aea2017-11-05 15:07:20 +0200117 }
118 group testing_group {
Michael Landodb0e8982018-06-06 11:44:25 +0300119 color = purple;
Idan Amitd059aea2017-11-05 15:07:20 +0200120 label = "Testing Layer";
Michael Landodb0e8982018-06-06 11:44:25 +0300121 sdc-sanity; sdc-ui-sanity
122 }
123 group util_group {
124 color = purple;
125 label = "Util Layer";
126 sdc-wss-simulator;
Idan Amitd059aea2017-11-05 15:07:20 +0200127 }
128 }