Collector authentication enhancement
[dcaegen2/collectors/ves.git] / dpo / spec / vescollector-componentspec.json
index 32144e2..4e2eb97 100644 (file)
 {
-       "self": {
-               "version": "1.2.0",
-               "name": "dcae-ves-collector",
-               "description": "Collector for receiving VES events through restful interface",
-               "component_type": "docker"
-       },
-       "streams": {
-               "subscribes": [],
-               "publishes": [
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-fault"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-measurement"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-syslog"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-heartbeat"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-other"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-mobileflow"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-statechange"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-thresholdCrossingAlert"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-voicequality"
-                       },
-                       {
-                               "format": "VES_specification",
-                               "version": "5.28.4",
-                               "type": "message router",
-                               "config_key": "ves-sipsignaling"
-                       }
-               ]
-       },
-       "services": {
-               "calls": [],
-               "provides": [
-                       {
-                               "route": "/eventListener/v1",
-                               "verb": "POST",
-                               "request": {
-                                       "format": "VES_specification",
-                                       "version": "4.27.2"
-                               },
-                               "response": {
-                                       "format": "ves.coll.response",
-                                       "version": "1.0.0"
-                               }
-                       },
-                       {
-                               "route": "/eventListener/v2",
-                               "verb": "POST",
-                               "request": {
-                                       "format": "VES_specification",
-                                       "version": "4.27.2"
-                               },
-                               "response": {
-                                       "format": "ves.coll.response",
-                                       "version": "1.0.0"
-                               }
-                       },
-                       {
-                               "route": "/eventListener/v3",
-                               "verb": "POST",
-                               "request": {
-                                       "format": "VES_specification",
-                                       "version": "4.27.2"
-                               },
-                               "response": {
-                                       "format": "ves.coll.response",
-                                       "version": "1.0.0"
-                               }
-                       },
-                       {
-                               "route": "/eventListener/v4",
-                               "verb": "POST",
-                               "request": {
-                                       "format": "VES_specification",
-                                       "version": "4.27.2"
-                               },
-                               "response": {
-                                       "format": "ves.coll.response",
-                                       "version": "1.0.0"
-                               }
-                       },
-                       {
-                               "route": "/eventListener/v5",
-                               "verb": "POST",
-                               "request": {
-                                       "format": "VES_specification",
-                                       "version": "5.28.4"
-                               },
-                               "response": {
-                                       "format": "ves.coll.response",
-                                       "version": "1.0.0"
-                               }
-                       }
-               ]
-       },
-       "parameters": [
-               {
-                       "name": "collector.service.port",
-                       "value": -1,
-                       "description": "standard http port"
-               },
-               {
-                       "name": "collector.service.secure.port",
-                       "value": 8443,
-                       "description": "secure port "
-               },
-               {
-                       "name": "collector.keystore.file.location",
-                       "value": "/opt/app/dcae-certificate/keystore.jks",
-                       "description": "fs location of keystore in vm"
-               },
-               {
-                       "name": "collector.keystore.passwordfile",
-                       "value": "/opt/app/dcae-certificate/.password",
-                       "description": "location of keystore password file in vm"
-               },
-               {
-                       "name": "collector.keystore.alias",
-                       "value": "dynamically generated",
-                       "description": "alias to access the keystore"
-               },
-               {
-                       "name": "collector.inputQueue.maxPending",
-                       "value": 8096,
-                       "description": "Maximum queue limit before publish"
-               },
-               {
-                       "name": "collector.dmaap.streamid",
-                       "value": "fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling",
-                       "description": "domain-streamid mapping"
-               },
-               {
-                       "name": "header.authflag",
-                       "value": 1,
-                       "description": "Basic Authentication flag"
-               },
-               {
-                       "name": "header.authlist",
-                       "value": "sample1,c2FtcGxlMQ==|userid1,base64encodepwd1|userid2,base64encodepwd2",
-                       "description": "List of id and base64 encoded pwd",
-                       "sourced_at_deployment":true
-               },
-               {
-                       "name": "collector.schema.checkflag",
-                       "value": 1,
-                       "description": "Schema check validation flag"
-               },
-               {
-                       "name": "collector.schema.file",
-                       "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.json\"}",
-                       "description": "validation schema file name per version"
-               },
-               {
-                       "name": "event.transform.flag",
-                       "value": 1,
-                       "description": "flag to enable tranformation rules defined under eventTransform.json"
-               },
-               {
-                       "name": "tomcat.maxthreads",
-                       "value": "200",
-                       "description": "Tomcat control for concurrent request"
-               }
-       ],
-       "auxilary": {
-               "healthcheck": {
-                       "type": "https",
-                       "interval": "15s",
-                       "timeout": "1s",
-                       "endpoint": "/healthcheck"
-               },
-               "volumes": [
-                       {
-                               "container": {
-                                       "bind": "/opt/app/dcae-certificate"
-                               },
-                               "host": {
-                                       "path": "/opt/app/dcae-certificate"
-                               }
-                       },
-                       {
-                               "container": {
-                                       "bind": "/opt/app/VESCollector/logs"
-                               },
-                               "host": {
-                                       "path": "/opt/logs/DCAE/VESCollector/logs"
-                               }
-                       }
-               ],
-               "ports": [
-                       "8443:8443"
-               ]
-       },
-       "artifacts": [
-               {
-                       "type": "docker image",
-                       "uri": "nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.1"
-               }
-       ]
+  "self": {
+    "version": "1.3.0",
+    "name": "dcae-ves-collector",
+    "description": "Collector for receiving VES events through restful interface",
+    "component_type": "docker"
+  },
+  "streams": {
+    "subscribes": [],
+    "publishes": [
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-fault"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-measurement"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-syslog"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-heartbeat"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-other"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-mobileflow"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-statechange"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-thresholdCrossingAlert"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-voicequality"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-sipsignaling"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-fault-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-measurement-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-syslog-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-heartbeat-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-other-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-mobileflow-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-statechange-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-thresholdCrossingAlert-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-voicequality-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "5.28.4",
+        "type": "message router",
+        "config_key": "ves-sipsignaling-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "7.30.0",
+        "type": "message router",
+        "config_key": "ves-pnfRegistration"
+      },
+      {
+        "format": "VES_specification",
+        "version": "7.30.0",
+        "type": "message router",
+        "config_key": "ves-pnfRegistration-secondary"
+      },
+      {
+        "format": "VES_specification",
+        "version": "7.30.0",
+        "type": "message router",
+        "config_key": "ves-notification"
+      },
+      {
+        "format": "VES_specification",
+        "version": "7.30.0",
+        "type": "message router",
+        "config_key": "ves-notification-secondary"
+      }
+    ]
+  },
+  "services": {
+    "calls": [],
+    "provides": [
+      {
+        "route": "/eventListener/v1",
+        "verb": "POST",
+        "request": {
+          "format": "VES_specification",
+          "version": "4.27.2"
+        },
+        "response": {
+          "format": "ves.coll.response",
+          "version": "1.0.0"
+        }
+      },
+      {
+        "route": "/eventListener/v2",
+        "verb": "POST",
+        "request": {
+          "format": "VES_specification",
+          "version": "4.27.2"
+        },
+        "response": {
+          "format": "ves.coll.response",
+          "version": "1.0.0"
+        }
+      },
+      {
+        "route": "/eventListener/v3",
+        "verb": "POST",
+        "request": {
+          "format": "VES_specification",
+          "version": "4.27.2"
+        },
+        "response": {
+          "format": "ves.coll.response",
+          "version": "1.0.0"
+        }
+      },
+      {
+        "route": "/eventListener/v4",
+        "verb": "POST",
+        "request": {
+          "format": "VES_specification",
+          "version": "4.27.2"
+        },
+        "response": {
+          "format": "ves.coll.response",
+          "version": "1.0.0"
+        }
+      },
+      {
+        "route": "/eventListener/v5",
+        "verb": "POST",
+        "request": {
+          "format": "VES_specification",
+          "version": "5.28.4"
+        },
+        "response": {
+          "format": "ves.coll.response",
+          "version": "1.0.0"
+        }
+      },
+      {
+        "route": "/eventListener/v7",
+        "verb": "POST",
+        "request": {
+          "format": "VES_specification",
+          "version": "7.30.0"
+        },
+        "response": {
+          "format": "ves.coll.response",
+          "version": "1.0.0"
+        }
+      }
+    ]
+  },
+  "parameters": [
+    {
+      "name": "collector.service.port",
+      "value": 8080,
+      "description": "standard http port collector will open for listening;",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "collector.service.secure.port",
+      "value": 8443,
+      "description": "secure http port collector will open for listening ",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": true
+    },
+    {
+      "name": "collector.keystore.file.location",
+      "value": "/opt/app/dcae-certificate/keystore.jks",
+      "description": "fs location of keystore file in vm",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "collector.keystore.passwordfile",
+      "value": "/opt/app/dcae-certificate/.password",
+      "description": "location of keystore password file in vm",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "collector.truststore.file.location",
+      "value": "/opt/app/dcae-certificate/truststore.jks",
+      "description": "fs location of truststore file in vm",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "collector.truststore.passwordfile",
+      "value": "/opt/app/dcae-certificate/.trustpassword",
+      "description": "location of truststore password file in vm",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "collector.inputQueue.maxPending",
+      "value": 8096,
+      "description": "Maximum queue limit across domains collector will queue before event is published",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "collector.dmaap.streamid",
+      "value": "fault=ves-fault,ves-fault-secondary|syslog=ves-syslog,ves-syslog-secondary|heartbeat=ves-heartbeat,ves-heartbeat-secondary|measurementsForVfScaling=ves-measurement,ves-measurement-secondary|mobileFlow=ves-mobileflow,ves-mobileflow-secondary|other=ves-other,ves-other-secondary|stateChange=ves-statechange,ves-statechange-secondary|thresholdCrossingAlert=ves-thresholdCrossingAlert,ves-thresholdCrossingAlert-secondary|voiceQuality=ves-voicequality,ves-voicequality-secondary|sipSignaling=ves-sipsignaling,ves-sipsignaling-secondary|notification=ves-notification,ves-notification-secondary|pnfRegistration=ves-pnfRegistration,ves-pnfRegistration-secondary",
+      "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",
+      "sourced_at_deployment": true,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "auth.method",
+      "value": "noAuth",
+      "description": "Basic Authentication flag; when enabled only secure port will be supported.",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "header.authlist",
+      "value": "sample1,$2a$10$pgjaxDzSuc6XVFEeqvxQ5u90DKJnM/u7TJTcinAlFJVaavXMWf/Zi|userid1,$2a$10$61gNubgJJl9lh3nvQvY9X.x4e5ETWJJ7ao7ZhJEvmfJigov26Z6uq|userid2,$2a$10$G52y/3uhuhWAMy.bx9Se8uzWinmbJa.dlm1LW6bYPdPkkywLDPLiy",
+      "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",
+      "policy_editable": false,
+      "sourced_at_deployment": true,
+      "designer_editable": true
+    },
+    {
+      "name": "collector.schema.checkflag",
+      "value": 1,
+      "description": "Schema check validation flag. When enabled, collector will validate input VES events against VES Schema defined on collector.schema.file ",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "collector.schema.file",
+      "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.json\"}",
+      "description": "VES schema file name per version used for validation",
+      "designer_editable": true,
+      "sourced_at_deployment": false,
+      "policy_editable": false
+    },
+    {
+      "name": "event.transform.flag",
+      "value": 1,
+      "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",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    },
+    {
+      "name": "tomcat.maxthreads",
+      "value": "200",
+      "description": "Tomcat control for concurrent request",
+      "sourced_at_deployment": false,
+      "policy_editable": false,
+      "designer_editable": false
+    }
+  ],
+  "auxilary": {
+    "healthcheck": {
+      "type": "https",
+      "interval": "15s",
+      "timeout": "1s",
+      "endpoint": "/healthcheck"
+    },
+    "volumes": [
+      {
+        "container": {
+          "bind": "/opt/app/dcae-certificate"
+        },
+        "host": {
+          "path": "/opt/app/dcae-certificate"
+        }
+      },
+      {
+        "container": {
+          "bind": "/opt/app/VESCollector/logs"
+        },
+        "host": {
+          "path": "/opt/logs/DCAE/VESCollector/logs"
+        }
+      },
+      {
+        "container": {
+          "bind": "/opt/app/VESCollector/etc"
+        },
+        "host": {
+          "path": "/opt/logs/DCAE/VESCollector/etc"
+        }
+      }
+    ],
+    "ports": [
+      "8443:8443"
+    ]
+  },
+  "artifacts": [
+    {
+      "type": "docker image",
+      "uri": "nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.3"
+    }
+  ]
 }