Adding interfaces in documentation
[aai/sparky-be.git] / README.MD
1 # Sparky - Inventory UI Service\r
2 \r
3 ## Overview\r
4 _Sparky_ is a service that interacts with AAI and provides users a UI to view and analyze AAI data. The main goal behind _Sparky_ is providing a more user friendly and clear view of AAI data.\r
5 \r
6 At this time, _Sparky_ has two views available for use:\r
7 \r
8 [View and Inspect](./VIEW_INSPECT.md) - Graph based view of entities within AAI.\r
9 \r
10 [VNFs](./VNFS.md) - Aggregation based view of VNFs within AAI.\r
11 \r
12 ## Interfaces\r
13 \r
14 User/Browser -> _Sparky_ port 9517 (HTTP) (can be configured as port 8000 HTTPS) \r
15 Purposes: \r
16  - Suggestions requests\r
17  - data retrieval\r
18 \r
19 _Sparky_ -> AAI HA proxy port 8443 (REST)\r
20 Purposes: \r
21  - data retrieval\r
22  - Index synchronization\r
23    \r
24 _Sparky_ -> Elastic Search port 9200 (REST) \r
25 Purpose: \r
26  - data retrieval (VNFs queries) \r
27 \r
28 _Sparky_ -> Search data Service port 9509 (REST) \r
29 Purpose: \r
30  - Data retrieval for search bar\r
31 \r
32 ## Getting Started\r
33 \r
34 ### Building _Sparky_\r
35 \r
36 After cloning the project, execute the following Maven command from the project's top level directory to build the project:\r
37 \r
38     > mvn clean install\r
39 \r
40 After a successful install, build the docker image:\r
41 \r
42     > docker build -t openecomp/sparky target \r
43 \r
44 ### Deploying _Sparky_\r
45 \r
46 Push the Docker image that you have built to your Docker repository and pull it down to the location that you will be running _Sparky_.\r
47 \r
48 **Create the following directories on the host machine:**\r
49 \r
50     /logs\r
51     /opt/app/sparky/appconfig\r
52 \r
53 You will be mounting these as data volumes when you start the Docker container.\r
54 \r
55 #### Clone Configuration Repo\r
56 \r
57 Clone the "test-config" repo to a seperate directory.\r
58 Navigate to <test-config repo location>/sparky/appconfig (will contain files such as aaiui_filters.json and authentication files).\r
59 Copy the entire contents of <test-config repo location>/sparky/appconfig into the /opt/app/sparky/appconfig directory you created in an above step.\r
60 Copy the entire contents of <test-config repo location>/sparky/dynamic into the /opt/app/sparky/dynamic directory you created in an above step.\r
61 \r
62 The *dynamic* folder contains spring-beans and camel routes.  The spring-beans must be updated with environmental configuration, to enable correct operation. \r
63 \r
64 #### Edits to property files in /opt/app/sparky/appconfig\r
65 \r
66 Listed below are the values that will need to be updated to make _Sparky_ operate properly. The config files contain comments on the contents not listed here.\r
67 \r
68 **sparky-core.xml**\r
69 \r
70 - searchServiceRestEndpointConfig\r
71         - endpointIpAddress ( ip address of the Search Data Service )\r
72         - endpointServerPort ( server port of Search Data Service ) \r
73 \r
74 **sparky-core-sync.xml**\r
75  \r
76 - elasticSearchRestEndpointConfig\r
77     - endpointIpAddress (ElasticSearch server ip address)\r
78     - endpointServerPort (ElasticSearch transport server port.  Default: 9200)\r
79 \r
80 - aaiRestEndpointConfig\r
81     - endpointIpAddress (AAI server ip address)\r
82     - endpointServerPort (AAI server port.  Default: 8443)\r
83 \r
84 **portal/portal.properties**\r
85 **portal/portal-authentication.properties**\r
86 \r
87 If this instance of _Sparky_ will be served in an ONAP Portal instance, use the two files above to configure against the proper Portal instance.\r
88 \r
89 ### Dependencies\r
90 \r
91 _Sparky_ requires:\r
92 \r
93 - AAI instance as the main driver behind data.\r
94 - Elasticsearch instance for data storage.\r
95 - Search-Data-Service instance for search functionality.\r
96 - ONAP Portal instance for authentication.