Delivery
SDC Dockers Images
Overview
Name |
Content of the image |
On Startup |
sdc-cassandra-init |
Logic for creating the schemas for SDC catalog server |
Creates the schemas |
sdc-onboard-cassandra-init |
Logic for creating the schemas for SDC onboarding server |
Creates the schemas |
sdc-cassandra |
Cassandra server, this is optional as SDC uses shared ONAP Cassandra by default |
Starts Cassandra |
sdc-onboard-backend |
Onboarding Backend Jetty server |
Starts Jetty with the application. |
sdc-backend-all-plugins |
Backend Jetty server |
Starts Jetty with the application. |
sdc-backend-init |
Logic for importing the SDC Tosca normative types Logic for configuring external users for SDC external api’s |
Executes the rest calls for the catalog server |
sdc-frontend |
SDC Frontend Jetty server |
Starts Jetty with our application. |
sdc-workflow-init |
Logic for configuring Workflow Designer |
Executes configuration tasks of the WFD |
sdc-workflow-backend |
SDC Workflow Backend Jetty server |
Starts Jetty with our application. |
sdc-workflow-frontend |
SDC Workflow Frontend Jetty server |
Starts Jetty with our application. |
sdc-helm-validator |
SDC container for Helm package validation |
Starts server with our application. |
Deployment dependency map
digraph deployment { rankdir=TB; node [shape=box]; // Apps (blue) fe [label="sdc-frontend", style=filled, fillcolor="#29ADFF"]; be [label="sdc-backend", style=filled, fillcolor="#29ADFF"]; onboarding_be [label="sdc-onboard-backend", style=filled, fillcolor="#29ADFF"]; cs [label="sdc-cassandra", style=filled, fillcolor="#29ADFF"]; sdc_wfd_fe [label="sdc-workflow-fe", style=filled, fillcolor="#29ADFF"]; sdc_wfd_be [label="sdc-workflow-be", style=filled, fillcolor="#29ADFF"]; // Jobs (orange, dotted) be_init [label="sdc-backend-init", style="filled,dotted", fillcolor="#FFA300"]; cs_init [label="sdc-cassandra-init", style="filled,dotted", fillcolor="#FFA300"]; cs_onboarding_init [label="sdc-cassandra-onboard-init", style="filled,dotted", fillcolor="#FFA300"]; sdc_wfd_be_init [label="sdc-workflow-init", style="filled,dotted", fillcolor="#FFA300"]; // Legend subgraph cluster_legend { label="Legend"; job [label="job", style="filled,dotted", fillcolor="#FFA300"]; app [label="app", style=filled, fillcolor="#29ADFF"]; } // Dependencies onboarding_be -> cs_onboarding_init -> cs_init -> cs; be_init -> be -> cs_init; sdc_wfd_fe -> sdc_wfd_be_init -> sdc_wfd_be -> cs_init; }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-frontend |
/sdc1/feproxy/* |
Proxy for all REST calls from SDC UI |
HTTP(S) |
8181 / 8443 |
TCP |
sdc-backend |
/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.
digraph delivery { rankdir=TB; node [shape=box]; // Application Layer (green cluster) subgraph cluster_app { label="Application Layer"; style=filled; fillcolor="#90EE90"; sdc_cassandra [label="sdc-cassandra", shape=cylinder, style=filled, fillcolor=grey]; sdc_frontend [label="sdc-frontend", style=filled, fillcolor=blue, fontcolor=white]; sdc_backend [label="sdc-backend", style=filled, fillcolor=yellow]; sdc_onboarding_backend [label="sdc-onboarding-backend", style=filled, fillcolor=yellow]; sdc_wfd_frontend [label="sdc-wfd-frontend", style=filled, fillcolor=brown]; sdc_wfd_backend [label="sdc-wfd-backend", style=filled, fillcolor=brown]; sdc_wfd_be_init [label="sdc-wfd-be-init", style=filled, fillcolor=brown]; sdc_cassandra_config [label="sdc-cassandra-Config", style=filled, fillcolor=orange]; sdc_backend_config [label="sdc-backend-config", style=filled, fillcolor=orange]; sdc_onboarding_init [label="sdc-onboarding-init", style=filled, fillcolor=orange]; } // Testing Layer (purple cluster) subgraph cluster_test { label="Testing Layer"; style=filled; fillcolor="#DDA0DD"; sdc_sanity [label="sdc-sanity"]; sdc_ui_sanity [label="sdc-ui-sanity"]; } // Util Layer (purple cluster) subgraph cluster_util { label="Util Layer"; style=filled; fillcolor="#DDA0DD"; sdc_wss_simulator [label="sdc-wss-simulator"]; } // Connections 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_frontend -> 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; }