Add new data-format for 30.2_ONAP schema version
[dcaegen2/collectors/ves.git] / dpo / spec / vescollector-componentspec.json
1 {
2   "self": {
3     "version": "1.5.4",
4     "name": "dcae-ves-collector",
5     "description": "Collector for receiving VES events through restful interface",
6     "component_type": "docker"
7   },
8   "streams": {
9     "subscribes": [],
10     "publishes": [
11       {
12         "format": "VES_specification",
13         "version": "5.28.4",
14         "type": "message router",
15         "config_key": "ves-fault"
16       },
17       {
18         "format": "VES_specification",
19         "version": "5.28.4",
20         "type": "message router",
21         "config_key": "ves-measurement"
22       },
23       {
24         "format": "VES_specification",
25         "version": "5.28.4",
26         "type": "message router",
27         "config_key": "ves-syslog"
28       },
29       {
30         "format": "VES_specification",
31         "version": "5.28.4",
32         "type": "message router",
33         "config_key": "ves-heartbeat"
34       },
35       {
36         "format": "VES_specification",
37         "version": "7.30.2",
38         "type": "message router",
39         "config_key": "ves-other"
40       },
41       {
42         "format": "VES_specification",
43         "version": "5.28.4",
44         "type": "message router",
45         "config_key": "ves-mobileflow"
46       },
47       {
48         "format": "VES_specification",
49         "version": "5.28.4",
50         "type": "message router",
51         "config_key": "ves-statechange"
52       },
53       {
54         "format": "VES_specification",
55         "version": "5.28.4",
56         "type": "message router",
57         "config_key": "ves-thresholdCrossingAlert"
58       },
59       {
60         "format": "VES_specification",
61         "version": "5.28.4",
62         "type": "message router",
63         "config_key": "ves-voicequality"
64       },
65       {
66         "format": "VES_specification",
67         "version": "5.28.4",
68         "type": "message router",
69         "config_key": "ves-sipsignaling"
70       },
71       {
72         "format": "VES_specification",
73         "version": "7.30.2",
74         "type": "message router",
75         "config_key": "ves-pnfRegistration"
76       },
77       {
78         "format": "VES_specification",
79         "version": "7.30.2",
80         "type": "message router",
81         "config_key": "ves-notification"
82       },
83       {
84         "format": "VES_specification",
85         "version": "7.30.2",
86         "type": "message router",
87         "config_key": "ves-perf3gpp"
88       }
89     ]
90   },
91   "services": {
92     "calls": [],
93     "provides": [
94       {
95         "route": "/eventListener/v1",
96         "verb": "POST",
97         "request": {
98           "format": "VES_specification",
99           "version": "4.27.2"
100         },
101         "response": {
102           "format": "ves.coll.response",
103           "version": "1.0.0"
104         }
105       },
106       {
107         "route": "/eventListener/v2",
108         "verb": "POST",
109         "request": {
110           "format": "VES_specification",
111           "version": "4.27.2"
112         },
113         "response": {
114           "format": "ves.coll.response",
115           "version": "1.0.0"
116         }
117       },
118       {
119         "route": "/eventListener/v3",
120         "verb": "POST",
121         "request": {
122           "format": "VES_specification",
123           "version": "4.27.2"
124         },
125         "response": {
126           "format": "ves.coll.response",
127           "version": "1.0.0"
128         }
129       },
130       {
131         "route": "/eventListener/v4",
132         "verb": "POST",
133         "request": {
134           "format": "VES_specification",
135           "version": "4.27.2"
136         },
137         "response": {
138           "format": "ves.coll.response",
139           "version": "1.0.0"
140         }
141       },
142       {
143         "route": "/eventListener/v5",
144         "verb": "POST",
145         "request": {
146           "format": "VES_specification",
147           "version": "5.28.4"
148         },
149         "response": {
150           "format": "ves.coll.response",
151           "version": "1.0.0"
152         }
153       },
154       {
155         "route": "/eventListener/v7",
156         "verb": "POST",
157         "request": {
158           "format": "VES_specification",
159           "version": "7.30.2"
160         },
161         "response": {
162           "format": "ves.coll.response",
163           "version": "1.0.0"
164         }
165       }
166     ]
167   },
168   "parameters": [
169     {
170       "name": "collector.service.port",
171       "value": 8080,
172       "description": "standard http port collector will open for listening;",
173       "sourced_at_deployment": false,
174       "policy_editable": false,
175       "designer_editable": false
176     },
177     {
178       "name": "collector.service.secure.port",
179       "value": 8443,
180       "description": "secure http port collector will open for listening ",
181       "sourced_at_deployment": false,
182       "policy_editable": false,
183       "designer_editable": true
184     },
185     {
186       "name": "collector.keystore.file.location",
187       "value": "/opt/app/dcae-certificate/cert.jks",
188       "description": "fs location of keystore file in vm",
189       "sourced_at_deployment": false,
190       "policy_editable": false,
191       "designer_editable": false
192     },
193     {
194       "name": "collector.keystore.passwordfile",
195       "value": "/opt/app/dcae-certificate/jks.pass",
196       "description": "location of keystore password file in vm",
197       "sourced_at_deployment": false,
198       "policy_editable": false,
199       "designer_editable": false
200     },
201     {
202       "name": "collector.truststore.file.location",
203       "value": "/opt/app/dcae-certificate/trust.jks",
204       "description": "fs location of truststore file in vm",
205       "sourced_at_deployment": false,
206       "policy_editable": false,
207       "designer_editable": false
208     },
209     {
210       "name": "collector.truststore.passwordfile",
211       "value": "/opt/app/dcae-certificate/trust.pass",
212       "description": "location of truststore password file in vm",
213       "sourced_at_deployment": false,
214       "policy_editable": false,
215       "designer_editable": false
216     },
217     {
218       "name": "collector.dmaap.streamid",
219       "value": "fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|measurement=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|perf3gpp=ves-perf3gpp|stndDefined=ves-other",
220       "description": "domain-to-streamid mapping used by VESCollector to distributes events based on domain. Both primary and secondary config_key are included for resilency (multiple streamid can be included commma separated). The streamids MUST match to topic config_keys. For single site without resiliency deployment - configkeys with -secondary suffix can be removed",
221       "sourced_at_deployment": true,
222       "policy_editable": false,
223       "designer_editable": false
224     },
225     {
226       "name": "auth.method",
227       "value": "noAuth",
228       "description": "Property to manage application mode, possible configurations: noAuth - default option - no security (http) , certOnly - auth by certificate (https), basicAuth - auth by basic auth username and password (https),certBasicAuth - auth by certificate and basic auth username / password (https),",
229       "sourced_at_deployment": false,
230       "policy_editable": false,
231       "designer_editable": false
232     },
233     {
234       "name": "header.authlist",
235       "value": "sample1,$2a$10$pgjaxDzSuc6XVFEeqvxQ5u90DKJnM/u7TJTcinAlFJVaavXMWf/Zi|userid1,$2a$10$61gNubgJJl9lh3nvQvY9X.x4e5ETWJJ7ao7ZhJEvmfJigov26Z6uq|userid2,$2a$10$G52y/3uhuhWAMy.bx9Se8uzWinmbJa.dlm1LW6bYPdPkkywLDPLiy",
236       "description": "List of id and base 64 encoded password.For each onboarding VNF - unique userid and password should be assigned and communicated to VNF owner. Password value should be base64 encoded in config here",
237       "policy_editable": false,
238       "sourced_at_deployment": true,
239       "designer_editable": true
240     },
241     {
242       "name": "collector.schema.checkflag",
243       "value": 1,
244       "description": "Schema check validation flag. When enabled, collector will validate input VES events against VES Schema defined on collector.schema.file ",
245       "sourced_at_deployment": false,
246       "policy_editable": false,
247       "designer_editable": false
248     },
249     {
250       "name": "collector.schema.file",
251       "value": "{\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./etc/CommonEventFormat_27.2.json\",\"v3\":\"./etc/CommonEventFormat_27.2.json\",\"v4\":\"./etc/CommonEventFormat_27.2.json\",\"v5\":\"./etc/CommonEventFormat_28.4.1.json\",\"v7\":\"./etc/CommonEventFormat_30.2_ONAP.json\"}",
252       "description": "VES schema file name per version used for validation",
253       "designer_editable": true,
254       "sourced_at_deployment": false,
255       "policy_editable": false
256     },
257     {
258       "name": "event.transform.flag",
259       "value": 1,
260       "description": "flag to enable tranformation rules defined under eventTransform.json; this is applicable when event tranformation rules preset should be activated for transforming <VES5.4 events to 5.4",
261       "sourced_at_deployment": false,
262       "policy_editable": false,
263       "designer_editable": false
264     },
265     {
266       "name": "tomcat.maxthreads",
267       "value": "200",
268       "description": "Tomcat control for concurrent request",
269       "sourced_at_deployment": false,
270       "policy_editable": false,
271       "designer_editable": false
272     }
273   ],
274   "auxilary": {
275     "healthcheck": {
276       "type": "http",
277       "interval": "15s",
278       "timeout": "1s",
279       "endpoint": "/healthcheck"
280     },
281     "volumes": [
282       {
283         "container": {
284           "bind": "/opt/app/dcae-certificate"
285         },
286         "host": {
287           "path": "/opt/app/dcae-certificate"
288         }
289       },
290       {
291         "container": {
292           "bind": "/opt/app/VESCollector/logs"
293         },
294         "host": {
295           "path": "/opt/logs/DCAE/VESCollector/logs"
296         }
297       },
298       {
299         "container": {
300           "bind": "/opt/app/VESCollector/etc"
301         },
302         "host": {
303           "path": "/opt/logs/DCAE/VESCollector/etc"
304         }
305       }
306     ],
307     "ports": [
308       "8080:0",
309       "8443:0"
310     ],
311     "log_info": {
312         "log_directory": "/opt/app/VESCollector/logs/"
313      },
314     "tls_info":{
315         "cert_directory":"/opt/app/dcae-certificate/",
316         "use_tls":true
317      }
318   },
319   "artifacts": [
320     {
321       "type": "docker image",
322       "uri": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest"
323     }
324   ]
325 }
326