Generate API documents
[clamp.git] / docs / index.rst
index 8372137..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,64 +11,84 @@ 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
 -------------
 CLAMP uses the API's exposed by the following ONAP components:
-* SDC : REST based interface exposed by the SDC, Distribution of service to DCAE
-* DCAE: REST based interface exposed by DCAE, Common Controller Framework, DCAE microservices onboarded (TCA, Stringmatch, Holmes (optional))
-* Policy: REST based interface (the Policy team provide a "jar" to handle the communication), both XACML and Drools PDP, APIs to App-C/VF-C/SDN-C
+
+- SDC : REST based interface exposed by the SDC, Distribution of service to DCAE
+- DCAE: REST based interface exposed by DCAE, Common Controller Framework, DCAE microservices onboarded (TCA, Stringmatch, Holmes (optional))
+- Policy: REST based interface (the Policy team provide a "jar" to handle the communication), both XACML and Drools PDP, APIs to App-C/VF-C/SDN-C
 
 
 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.
 
 
+.. _index-clamp-installation:
 
 Installation
 ------------
@@ -92,50 +112,78 @@ 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
 --------------
 
 A user can access CLAMP UI at the following URL : http://localhost:8080/designer/index.html.
 (in this URL 'localhost' must be replaced by the actual host where CLAMP has been installed if it is not your current localhost)
-.. code-block::
+
+.. code-block:: html
+
     Default username : admin
     Default password : password
 
-
 Human Interfaces
 ----------------
 .. Basic info on the interface type, ports/protocols provided over, etc.