blob: efa3e674542e02d3e06ce902fa5f8a9ddb077ef1 [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
vasraz37012ca2022-09-13 14:14:43 +01008
9SDC Dockers Images
JulienBe14cee3e2020-06-11 12:06:09 +020010======================
11
12Overview
13--------
14
vasraz37012ca2022-09-13 14:14:43 +010015+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
16| Name | Content of the image | On Startup |
17+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
18| sdc-cassandra-init | Logic for creating the **schemas for SDC catalog** server | Creates the **schemas** |
19+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
20| sdc-onboard-cassandra-init | Logic for creating the **schemas for SDC onboarding** server | Creates the **schemas** |
21+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
22| sdc-cassandra | **Cassandra** server, this is optional as SDC uses shared ONAP | Starts **Cassandra** |
23| | Cassandra by default | |
24+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
25| sdc-onboard-backend | Onboarding **Backend** Jetty server | Starts Jetty with the application. |
26+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
27| sdc-backend-all-plugins | **Backend** Jetty server | Starts Jetty with the application. |
28+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
29| sdc-backend-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-frontend | SDC **Frontend** Jetty server | Starts Jetty with our application. |
33+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
34| sdc-workflow-init | Logic for configuring **Workflow Designer** | Executes configuration tasks of the WFD |
35+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
36| sdc-workflow-backend | SDC Workflow **Backend** Jetty server | Starts Jetty with our application. |
37+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
38| sdc-workflow-frontend | SDC Workflow **Frontend** Jetty server | Starts Jetty with our application. |
39+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
40| sdc-helm-validator | SDC container for Helm package validation | Starts server with our application. |
41+----------------------------+---------------------------------------------------------------------+------------------------------------------------+
JulienBe14cee3e2020-06-11 12:06:09 +020042
43
vasraz37012ca2022-09-13 14:14:43 +010044Deployment dependency map
JulienBe14cee3e2020-06-11 12:06:09 +020045--------------------------
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"];
vasraz37012ca2022-09-13 14:14:43 +010054 onboarding-be [label = "sdc-onboard-backend", class = "app"];
55 cs [label = "sdc-cassandra", class = "app"];
56 be-init [label = "sdc-backend-init", class = "job"];
vasraz75330802022-09-15 23:06:37 +010057 cs-init [label = "sdc-cassandra-init", class = "job"];
vasraz37012ca2022-09-13 14:14:43 +010058 cs-onboarding-init [label = "sdc-cassandra-onboard-init", class = "job"];
59 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
vasraz37012ca2022-09-13 14:14:43 +010065 onboarding-be -> cs-onboarding-init -> cs-init -> cs;
66 be-init -> be -> cs-init -> cs;
vasraz75330802022-09-15 23:06:37 +010067 sdc-wfd-fe -> sdc-wfd-be-init -> sdc-wfd-be -> cs-init -> cs;
vasraz37012ca2022-09-13 14:14:43 +010068 fe;
JulienBe14cee3e2020-06-11 12:06:09 +020069
70Connectivity Matrix
71-------------------
72
73+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
74| Name | API purpose | protocol | port number / range | TCP / UDP |
75+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
76| sdc-cassandra | SDC backend uses the two protocols to access Cassandra | trift/async | 9042 / 9160 | TCP |
77+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
78| sdc-onboard-backend | Access the onboarding functionality | http(s) | 8081 / 8445 | TCP |
79+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
80| sdc-backend | Access the catalog functionality | http(s) | 8080 / 8443 | TCP |
81+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
82| sdc-frontend | Access SDC UI and proxy requests to SDC backend | http(s) | 8181 / 9443 | TCP |
83+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
84
85Offered APIs
86------------
87
88+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
89| container / vm name | address | API purpose | protocol | port number | TCP / UDP |
90+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
vasraz37012ca2022-09-13 14:14:43 +010091| sdc-frontend | /sdc1/feproxy/* | Proxy for all REST calls from SDC UI | HTTP(S) | 8181 / 8443 | TCP |
JulienBe14cee3e2020-06-11 12:06:09 +020092+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
vasraz37012ca2022-09-13 14:14:43 +010093| sdc-backend | /sdc2/* | Internal APIs used by the UI. Request is passed through front end proxy | HTTP(S) | 8080 / 8443 | TCP |
JulienBe14cee3e2020-06-11 12:06:09 +020094+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
95| | /sdc/* | External APIs offered to the different components for retrieving info from SDC catalog. | HTTP(S) | 8080 / 8443 | TCP |
96+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
97| sdc-onboarding-be | /onboarding/api/* | Internal APIs used by the UI | HTTP(S) | 8080 / 8443 | TCP |
98+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
99
100
101Structure
102---------
Rich Bennett4b001932017-10-16 09:25:01 -0400103
Idan Amitd059aea2017-11-05 15:07:20 +0200104Below is a diagram of the SDC project docker containers and the connections between them.
Rich Bennett4b001932017-10-16 09:25:01 -0400105
106.. blockdiag::
vasraz37012ca2022-09-13 14:14:43 +0100107
Rich Bennett4b001932017-10-16 09:25:01 -0400108
Idan Amitd059aea2017-11-05 15:07:20 +0200109 blockdiag delivery {
ChrisC8143fb52020-11-13 15:04:38 +0100110 node_width = 140;
Idan Amitd059aea2017-11-05 15:07:20 +0200111 orientation = portrait;
Michael Landodb0e8982018-06-06 11:44:25 +0300112 sdc-cassandra[shape = flowchart.database , color = grey]
Ofir Sonsino61f39492020-04-01 10:52:28 +0300113 sdc-frontend [color = blue, textcolor="white"]
Michael Landodb0e8982018-06-06 11:44:25 +0300114 sdc-backend [color = yellow]
Michael Landodb0e8982018-06-06 11:44:25 +0300115 sdc-onboarding-backend [color = yellow]
ChrisC8143fb52020-11-13 15:04:38 +0100116 sdc-backend [color = yellow]
vasraz37012ca2022-09-13 14:14:43 +0100117 sdc-wfd-frontend [color = brown]
118 sdc-wfd-backend [color = brown]
119 sdc-wfd-be-init [color = brown]
Michael Landodb0e8982018-06-06 11:44:25 +0300120 sdc-cassandra-Config [color = orange]
Michael Landodb0e8982018-06-06 11:44:25 +0300121 sdc-backend-config [color = orange]
122 sdc-onboarding-init [color = orange]
vasraz37012ca2022-09-13 14:14:43 +0100123 sdc-wfd-be-init -> sdc-wfd-backend;
Michael Landodb0e8982018-06-06 11:44:25 +0300124 sdc-onboarding-init -> sdc-onboarding-backend;
125 sdc-cassandra-Config -> sdc-cassandra;
Michael Landodb0e8982018-06-06 11:44:25 +0300126 sdc-backend-config -> sdc-backend;
127 sdc-wss-simulator -> sdc-frontend;
vasraz37012ca2022-09-13 14:14:43 +0100128 sdc-wfd-frontend -> sdc-wfd-backend;
Michael Landodb0e8982018-06-06 11:44:25 +0300129 sdc-frontend -> sdc-backend, sdc-onboarding-backend;
vasraz37012ca2022-09-13 14:14:43 +0100130 sdc-wfd-backend -> sdc-cassandra;
Ofir Sonsino61f39492020-04-01 10:52:28 +0300131 sdc-backend -> sdc-cassandra;
Michael Landodb0e8982018-06-06 11:44:25 +0300132 sdc-onboarding-backend -> sdc-cassandra;
133 sdc-sanity -> sdc-backend;
134 sdc-ui-sanity -> sdc-frontend;
135 group deploy_group {
136 color = green;
seshukm86b2f6d2018-10-03 20:35:52 +0800137 label = "Application Layer"
vasraz37012ca2022-09-13 14:14:43 +0100138 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 +0200139 }
140 group testing_group {
Michael Landodb0e8982018-06-06 11:44:25 +0300141 color = purple;
Idan Amitd059aea2017-11-05 15:07:20 +0200142 label = "Testing Layer";
Michael Landodb0e8982018-06-06 11:44:25 +0300143 sdc-sanity; sdc-ui-sanity
144 }
145 group util_group {
146 color = purple;
147 label = "Util Layer";
148 sdc-wss-simulator;
Idan Amitd059aea2017-11-05 15:07:20 +0200149 }
150 }