Rich Bennett | 4b00193 | 2017-10-16 09:25:01 -0400 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 2 | .. http://creativecommons.org/licenses/by/4.0 |
| 3 | |
Idan Amit | d059aea | 2017-11-05 15:07:20 +0200 | [diff] [blame] | 4 | ======== |
Rich Bennett | 4b00193 | 2017-10-16 09:25:01 -0400 | [diff] [blame] | 5 | Delivery |
| 6 | ======== |
JulienBe | 14cee3e | 2020-06-11 12:06:09 +0200 | [diff] [blame] | 7 | |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 8 | |
| 9 | SDC Dockers Images |
JulienBe | 14cee3e | 2020-06-11 12:06:09 +0200 | [diff] [blame] | 10 | ====================== |
| 11 | |
| 12 | Overview |
| 13 | -------- |
| 14 | |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 15 | +----------------------------+---------------------------------------------------------------------+------------------------------------------------+ |
| 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 | +----------------------------+---------------------------------------------------------------------+------------------------------------------------+ |
JulienBe | 14cee3e | 2020-06-11 12:06:09 +0200 | [diff] [blame] | 42 | |
| 43 | |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 44 | Deployment dependency map |
JulienBe | 14cee3e | 2020-06-11 12:06:09 +0200 | [diff] [blame] | 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"]; |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 54 | onboarding-be [label = "sdc-onboard-backend", class = "app"]; |
| 55 | cs [label = "sdc-cassandra", class = "app"]; |
| 56 | be-init [label = "sdc-backend-init", class = "job"]; |
vasraz | 7533080 | 2022-09-15 23:06:37 +0100 | [diff] [blame^] | 57 | cs-init [label = "sdc-cassandra-init", class = "job"]; |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 58 | 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"]; |
JulienBe | 14cee3e | 2020-06-11 12:06:09 +0200 | [diff] [blame] | 62 | job [class = "job"]; |
| 63 | app [class = "app"]; |
| 64 | |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 65 | onboarding-be -> cs-onboarding-init -> cs-init -> cs; |
| 66 | be-init -> be -> cs-init -> cs; |
vasraz | 7533080 | 2022-09-15 23:06:37 +0100 | [diff] [blame^] | 67 | sdc-wfd-fe -> sdc-wfd-be-init -> sdc-wfd-be -> cs-init -> cs; |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 68 | fe; |
JulienBe | 14cee3e | 2020-06-11 12:06:09 +0200 | [diff] [blame] | 69 | |
| 70 | Connectivity 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 | |
| 85 | Offered APIs |
| 86 | ------------ |
| 87 | |
| 88 | +---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+ |
| 89 | | container / vm name | address | API purpose | protocol | port number | TCP / UDP | |
| 90 | +---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+ |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 91 | | sdc-frontend | /sdc1/feproxy/* | Proxy for all REST calls from SDC UI | HTTP(S) | 8181 / 8443 | TCP | |
JulienBe | 14cee3e | 2020-06-11 12:06:09 +0200 | [diff] [blame] | 92 | +---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+ |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 93 | | sdc-backend | /sdc2/* | Internal APIs used by the UI. Request is passed through front end proxy | HTTP(S) | 8080 / 8443 | TCP | |
JulienBe | 14cee3e | 2020-06-11 12:06:09 +0200 | [diff] [blame] | 94 | +---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+ |
| 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 | |
| 101 | Structure |
| 102 | --------- |
Rich Bennett | 4b00193 | 2017-10-16 09:25:01 -0400 | [diff] [blame] | 103 | |
Idan Amit | d059aea | 2017-11-05 15:07:20 +0200 | [diff] [blame] | 104 | Below is a diagram of the SDC project docker containers and the connections between them. |
Rich Bennett | 4b00193 | 2017-10-16 09:25:01 -0400 | [diff] [blame] | 105 | |
| 106 | .. blockdiag:: |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 107 | |
Rich Bennett | 4b00193 | 2017-10-16 09:25:01 -0400 | [diff] [blame] | 108 | |
Idan Amit | d059aea | 2017-11-05 15:07:20 +0200 | [diff] [blame] | 109 | blockdiag delivery { |
ChrisC | 8143fb5 | 2020-11-13 15:04:38 +0100 | [diff] [blame] | 110 | node_width = 140; |
Idan Amit | d059aea | 2017-11-05 15:07:20 +0200 | [diff] [blame] | 111 | orientation = portrait; |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 112 | sdc-cassandra[shape = flowchart.database , color = grey] |
Ofir Sonsino | 61f3949 | 2020-04-01 10:52:28 +0300 | [diff] [blame] | 113 | sdc-frontend [color = blue, textcolor="white"] |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 114 | sdc-backend [color = yellow] |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 115 | sdc-onboarding-backend [color = yellow] |
ChrisC | 8143fb5 | 2020-11-13 15:04:38 +0100 | [diff] [blame] | 116 | sdc-backend [color = yellow] |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 117 | sdc-wfd-frontend [color = brown] |
| 118 | sdc-wfd-backend [color = brown] |
| 119 | sdc-wfd-be-init [color = brown] |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 120 | sdc-cassandra-Config [color = orange] |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 121 | sdc-backend-config [color = orange] |
| 122 | sdc-onboarding-init [color = orange] |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 123 | sdc-wfd-be-init -> sdc-wfd-backend; |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 124 | sdc-onboarding-init -> sdc-onboarding-backend; |
| 125 | sdc-cassandra-Config -> sdc-cassandra; |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 126 | sdc-backend-config -> sdc-backend; |
| 127 | sdc-wss-simulator -> sdc-frontend; |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 128 | sdc-wfd-frontend -> sdc-wfd-backend; |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 129 | sdc-frontend -> sdc-backend, sdc-onboarding-backend; |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 130 | sdc-wfd-backend -> sdc-cassandra; |
Ofir Sonsino | 61f3949 | 2020-04-01 10:52:28 +0300 | [diff] [blame] | 131 | sdc-backend -> sdc-cassandra; |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 132 | sdc-onboarding-backend -> sdc-cassandra; |
| 133 | sdc-sanity -> sdc-backend; |
| 134 | sdc-ui-sanity -> sdc-frontend; |
| 135 | group deploy_group { |
| 136 | color = green; |
seshukm | 86b2f6d | 2018-10-03 20:35:52 +0800 | [diff] [blame] | 137 | label = "Application Layer" |
vasraz | 37012ca | 2022-09-13 14:14:43 +0100 | [diff] [blame] | 138 | 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 Amit | d059aea | 2017-11-05 15:07:20 +0200 | [diff] [blame] | 139 | } |
| 140 | group testing_group { |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 141 | color = purple; |
Idan Amit | d059aea | 2017-11-05 15:07:20 +0200 | [diff] [blame] | 142 | label = "Testing Layer"; |
Michael Lando | db0e898 | 2018-06-06 11:44:25 +0300 | [diff] [blame] | 143 | sdc-sanity; sdc-ui-sanity |
| 144 | } |
| 145 | group util_group { |
| 146 | color = purple; |
| 147 | label = "Util Layer"; |
| 148 | sdc-wss-simulator; |
Idan Amit | d059aea | 2017-11-05 15:07:20 +0200 | [diff] [blame] | 149 | } |
| 150 | } |