Generate API documents
[clamp.git] / docs / index.rst
index 38044ab..424b3d2 100644 (file)
@@ -1,6 +1,6 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
-.. Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+.. Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
 
 CLAMP - Closed Loop Automation Management Platform
 ==================================================
@@ -11,21 +11,23 @@ CLAMP - Closed Loop Automation Management Platform
 
 Offered APIs
 ------------
-CLAMP offers the following API:
-* HealthCheck
+The list of APIs that CLAMP has offered could be find in the following table:
 
-.. line-block::
+.. |pdf-icon| image:: images/pdf.png
+              :width: 40px
 
-   URL: http://<host>:8080/restservices/clds/v1/clds/healthcheck
-   Result: if in good health it will return OK: "HTTP/1.1 200", and the following json string content:
+.. |swagger-icon| image:: images/swagger.png
+                   :width: 40px
 
-.. code-block:: json
+.. |html-icon| image:: images/html.png
+               :width: 40px
 
-    {
-        "healthCheckComponent": "CLDS-APP",
-        "healthCheckStatus": "UP",
-        "description": "OK"
-    }
+.. csv-table::
+   :header: "|Swagger-icon|", "|html-icon|", "|pdf-icon|"
+   :widths: 60,60,60
+
+   "swagger json file", "html doc", "pdf doc"
+   ":download:`link <swagger/swagger.json>`", ":download:`link <swagger/swagger.html>`", ":download:`link <swagger/swagger.pdf>`"
 
 
 Consumed APIs
@@ -40,32 +42,48 @@ CLAMP uses the API's exposed by the following ONAP components:
 Delivery
 --------
 CLAMP component is composed of a UI layer and a BackEnd layer and packaged into a single container.
-CLAMP also requires a database instance with 2 DB, it uses MariaDB.
+CLAMP also requires a database instance with 1 DB, it uses MariaDB.
+CLAMP also uses an ELK stack (Elastic Search, Logstash and Kibana) for the Dashboard.
 
 .. blockdiag::
 
 
    blockdiag layers {
-   orientation = portrait
-   CLAMP_UI -> CLAMP_BACKEND;
-   CLAMP_BACKEND -> CAMUNDADB;
-   CLAMP_BACKEND -> CLDSDB;
-   group l1 {
-   color = blue;
-   label = "CLAMP container";
-   CLAMP_UI; CLAMP_BACKEND;
-   }
-   group l3 {
-   color = orange;
-   label = "MariaDB container";
-   CAMUNDADB; CLDSDB;
+       orientation = portrait
+       CLAMP_UI -> CLAMP_BACKEND;
+       CLAMP_BACKEND -> CLDSDB;
+       CLAMP_KIBANA -> CLAMP_ELASTICSEARCH;
+       CLAMP_LOGSTASH -> CLAMP_ELASTICSEARCH;
+       group l1 {
+       color = blue;
+       label = "CLAMP container";
+       CLAMP_UI; CLAMP_BACKEND;
+       }
+       group l3 {
+       color = orange;
+       label = "MariaDB container";
+       CLDSDB;
+       }
+       group l4 {
+       color = green;
+       label = "E_Search container";
+       CLAMP_ELASTICSEARCH;
+       }
+       group l5 {
+          color = green;
+          label = "Kibana container";
+          CLAMP_KIBANA;
+       }
+       group l6 {
+          color = green;
+          label = "LogStash container";
+          CLAMP_LOGSTASH;
+       }
    }
-   }
-
 
 Logging & Diagnostic Information
 --------------------------------
-CLAMP uses logback framework to generate logs. The logback.xml file cand be found under the [src/main/resources/ folder](src/main/resources).
+CLAMP uses logback framework to generate logs. The logback.xml file can be found under the [src/main/resources/ folder](src/main/resources).
 
 With the default log settings, all logs will be generated into console and into root.log file under the CLAMP root folder. The root.log file is not allowed to be appended, thus restarting the CLAMP will result in cleaning of the old log files.
 
@@ -94,39 +112,66 @@ There are two needed datasource for Clamp. By default, both will try to connect
 .. code-block:: json
 
     {
-        "spring.datasource.camunda.url": "jdbc:mariadb://anotherDB.onap.org:3306/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true",
-        "spring.datasource.camunda.username": "admin",
-        "spring.datasource.camunda.password": "password",
         "spring.datasource.cldsdb.url": "jdbc:mariadb://anotherDB.onap.org:3306/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true",
         "spring.datasource.cldsdb.username": "admin",
-        "spring.datasource.cldsdb.password": "password"
+        "spring.datasource.cldsdb.password": "password",
+
+        "clamp.config.sdc.catalog.url": "https://sdchost:8443/sdc/v1/catalog/",
+        "clamp.config.sdc.hostUrl": "https://sdchost:8443/",
+        "clamp.config.sdc.serviceUrl": "https://sdchost:8443/sdc/v1/catalog/services",
+        "clamp.config.sdc.serviceUsername": "clamp",
+        "clamp.config.sdc.servicePassword": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981",
+        "clamp.config.dcae.inventory.url": "http://dcaegen2.host:8080",
+        "clamp.config.dcae.dispatcher.url": "http://dcaegen2.host:8080",
+        "clamp.config.policy.pdpUrl1": "https://policy-pdp.host:9091/pdp/ , testpdp, alpha123",
+        "clamp.config.policy.pdpUrl2": "https://policy-pdp.host:9091/pdp/ , testpdp, alpha123",
+        "clamp.config.policy.papUrl": "https://policy-pap.host:8443/pap/ , testpap, alpha123",
+        "clamp.config.policy.clientKey": "5CE79532B3A2CB4D132FC0C04BF916A7"
+        "clamp.config.files.sdcController":"file:/opt/clamp/config/sdc-controllers-config.json"
     }
 
-OR
+SDC-Controllers config
+----------------------
+This file is a JSON that must be specified to Spring config, here is an example:
 
 .. code-block:: json
-
-    {
-        "spring":
-        {
-            "datasource":
-            {
-                "camunda":
-                {
-                    "url": "jdbc:mariadb://anotherDB.onap.org:3306/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true",
-                    "username": "admin",
-                    "password": "password"
-                },
-
-                "cldsdb":
-                {
-                "url": "jdbc:mariadb://anotherDB.onap.org:3306/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true",
-                "username": "admin",
-                "password": "password"
-                }
-            }
-        }
+ {
+  "sdc-connections":{
+    "sdc-controller1":{
+        "user": "clamp",
+        "consumerGroup": "consumerGroup1",
+        "consumerId": "consumerId1",
+        "environmentName": "AUTO",
+        "sdcAddress": "localhost:8443",
+        "password": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981",
+        "pollingInterval":30,
+        "pollingTimeout":30,
+        "activateServerTLSAuth":"false",
+        "keyStorePassword":"",
+        "keyStorePath":"",
+        "messageBusAddresses":["dmaaphost.com"]
+    },
+    "sdc-controller2":{
+        "user": "clamp",
+        "consumerGroup": "consumerGroup1",
+        "consumerId": "consumerId1",
+        "environmentName": "AUTO",
+        "sdcAddress": "localhost:8443",
+        "password": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981",
+        "pollingInterval":30,
+        "pollingTimeout":30,
+        "activateServerTLSAuth":"false",
+        "keyStorePassword":"",
+        "keyStorePath":"",
+        "messageBusAddresses":["dmaaphost.com"]
     }
+  }
+ }
+
+Multiple controllers can be configured so that Clamp is able to receive the notifications from different SDC servers.
+Each Clamp existing in a cluster should have different consumerGroup and consumerId so that they can each consume the SDC notification.
+The environmentName is normally the Dmaap Topic used by SDC. 
+If the sdcAddress is not specified or not available (connection failure) the messageBusAddresses will be used (Dmaap servers) 
 
 Administration
 --------------