aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/multicloud/templates
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/multicloud/templates')
-rw-r--r--kubernetes/multicloud/templates/deployment.yaml6
-rw-r--r--kubernetes/multicloud/templates/service.yaml2
2 files changed, 7 insertions, 1 deletions
diff --git a/kubernetes/multicloud/templates/deployment.yaml b/kubernetes/multicloud/templates/deployment.yaml
index c3e6e5142e..5f645d4f4c 100644
--- a/kubernetes/multicloud/templates/deployment.yaml
+++ b/kubernetes/multicloud/templates/deployment.yaml
@@ -39,6 +39,8 @@ spec:
spec:
containers:
- env:
+ - name: MSB_PROTO
+ value: {{ .Values.config.msbprotocol }}.{{ include "common.namespace" . }}
- name: MSB_ADDR
value: {{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}
- name: MSB_PORT
@@ -53,6 +55,8 @@ spec:
value: "{{ .Values.config.aai.username }}"
- name: AAI_PASSWORD
value: "{{ .Values.config.aai.password }}"
+ - name: SSL_ENABLED
+ value: "{{ .Values.config.ssl_enabled }}"
resources:
{{ include "common.resources" . | indent 12 }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -76,7 +80,7 @@ spec:
httpGet:
path: /api/multicloud/v0/swagger.json
port: {{ .Values.service.internalPort }}
- scheme: HTTP
+ scheme: HTTPS
initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
periodSeconds: {{ .Values.liveness.periodSeconds }}
timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
diff --git a/kubernetes/multicloud/templates/service.yaml b/kubernetes/multicloud/templates/service.yaml
index e34bdf4502..64f9de031c 100644
--- a/kubernetes/multicloud/templates/service.yaml
+++ b/kubernetes/multicloud/templates/service.yaml
@@ -33,6 +33,7 @@ metadata:
"url": "/api/multicloud/v0",
"protocol": "REST",
"port": "{{ .Values.service.externalPort }}",
+ "enable_ssl": "{{ .Values.config.ssl_enabled }}",
"visualRange": "1"
},
{
@@ -41,6 +42,7 @@ metadata:
"url": "/api/multicloud/v1",
"protocol": "REST",
"port": "{{ .Values.service.externalPort }}",
+ "enable_ssl": "{{ .Values.config.ssl_enabled }}",
"visualRange": "1"
}
]'
db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

========
Delivery
========

   
SDC Dockers Containers
======================

Overview
--------

+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| Name                | Content of the container                                                   | On Startup                                     |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-cs-init         | Logic for creating the **schemas for SDC catalog** server                  | Create the **schemas**                         |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-cs-onboard init | Logic for creating the **schemas for SDC onboarding** server               | Create the **schemas**                         |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-cs              | **Cassandra** server, this is optional as SDC uses shared ONAP Cassandra by| Starts **Cassandra**                           |
|                     | default                                                                    |                                                |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-onboard-BE      | Onboarding **Backend** Jetty server                                        | Starts Jetty with the application.             |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-BE              | **Backend** Jetty server                                                   | Starts Jetty with the application.             |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-BE-init         | Logic for importing the SDC **Tosca normative types**                      | Executes the rest calls for the catalog server |
|                     | Logic for configuring **external users** for SDC external api's            |                                                |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-FE              | SDC **Frontend** Jetty server                                              | Starts Jetty with our application.             |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-WFD-BE-init     | Logic for configuring **Workflow Designer**                                | Execute configuration tasks of the WFD         |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-WFD-BE          | SDC Workflow **Backtend** Jetty server                                     | Starts Jetty with our application.             |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
| sdc-WFD-FE          | SDC Workflow **Frontend** Jetty server                                     | Starts Jetty with our application.             |
+---------------------+----------------------------------------------------------------------------+------------------------------------------------+



Deployement dependency map
--------------------------

.. blockdiag::

    orientation = portrait
    class job [color = "#FFA300", style = dotted, shape = "box"]
    class app [color = "#29ADFF", shape = "roundedbox"]
    fe [label = "sdc-frontend", class = "app"];
    be [label = "sdc-backend", class = "app"];
    onboarding-be [label = "sdc-onboarding-backend", class = "app"];
    cassandra [label = "sdc-cassandra", class = "app"];
    be-config [label = "sdc-backend-config", class = "job"];
    cassandra-config [label = "sdc-cassandra-config", class = "job"];
    onboarding-init [label = "sdc-onboarding-init", class = "job"];
    sdc-WFD-FE [label = "sdc-workflow-fe", class = "app"];
    sdc-WFD-BE [label = "sdc-workflow-be", class = "app"];
    sdc-WFD-BE-init [label = "sdc-workflow-init", class = "job"];
    job [class = "job"];
    app [class = "app"];

    fe -> be-config -> be -> onboarding-be -> onboarding-init -> cassandra-config -> cassandra;
    sdc-WFD-FE -> sdc-WFD-BE-init -> sdc-WFD-BE -> cassandra-config;

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-fe              | /sdc1/feproxy/*   | Proxy for all REST calls from SDC UI                                                    | HTTP(S)  | 8181 / 8443 | TCP       |
+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
| sdc-be              | /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.

.. blockdiag::
   

    blockdiag delivery {
        node_width = 140;
        orientation = portrait;
        sdc-cassandra[shape = flowchart.database , color = grey]
        sdc-frontend [color = blue, textcolor="white"]
        sdc-backend [color = yellow]
        sdc-onboarding-backend [color = yellow]
        sdc-backend [color = yellow]
        sdc-WFD-frontend [color = brown]
        sdc-WFD-backend [color = brown]
        sdc-WFD-BE-init [color = brown]
        sdc-cassandra-Config [color = orange]
        sdc-backend-config [color = orange]
        sdc-onboarding-init [color = orange]
        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-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;
        group deploy_group {
            color = green;
            label = "Application Layer"
            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;
        }
        group testing_group {
            color = purple;
            label = "Testing Layer";
            sdc-sanity; sdc-ui-sanity
        }
        group util_group {
            color = purple;
            label = "Util Layer";
            sdc-wss-simulator;
        }
    }