Merge "Update: Hyper Links"
[dcaegen2.git] / docs / sections / apis / ves-hv.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 ========================
5 HV-VES (High Volume VES)
6 ========================
7
8 :Date: 2018-09-24
9
10 .. contents::
11     :depth: 3
12 ..
13
14 Overview
15 ========
16
17 Component description can be found under `HV-VES Collector`_.
18
19 .. _HV-VES Collector: ../services/ves-hv/index.html
20
21
22 TCP Endpoint
23 ============
24
25 HV-VES is exposed as NodePort service on Kubernetes cluster on port 30222/tcp.
26 It uses plain TCP connections tunneled in SSL/TLS or can be run in insecure manner without data encryption on the socket.
27 Without TLS client authentication/authorization is not possible.
28 Connections are stream-based (as opposed to request-based) and long running.
29
30 Payload is binary-encoded, currently using Google Protocol Buffers representation of the VES Common Header.
31
32 .. literalinclude:: VesEvent.proto
33     :language: protobuf
34
35 The PROTO file, which contains the VES CommonHeader, comes with a binary-type Payload parameter, where domain-specific
36 data shall be placed. Domain-specific data are encoded as well with GPB, and they do require a domain-specific
37 PROTO file to decode the data.
38
39 HV-VES makes routing decisions based mostly on the content of the **Domain** parameter in VES Common Header.
40
41
42 Healthcheck
43 ===========
44
45 Inside HV-VES docker container runs small http service for healthcheck - exact port for this service can be configured
46 at deployment using `--health-check-api-port` command line option.
47
48 This service exposes single endpoint **GET /health/ready** which returns **HTTP 200 OK** in case HV-VES is healthy
49 and ready for connections. Otherwise it returns **HTTP 503 Service Unavailable** with short reason of unhealthiness.
50
51
52
53
54