| .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| .. http://creativecommons.org/licenses/by/4.0 |
| |
| ======================== |
| HV-VES (High Volume VES) |
| ======================== |
| |
| :Date: 2018-10-05 |
| |
| .. contents:: |
| :depth: 3 |
| .. |
| |
| Overview |
| ======== |
| |
| Component description can be found under `HV-VES Collector`_. |
| |
| .. _HV-VES Collector: ../../services/ves-hv/index.html |
| |
| |
| TCP Endpoint |
| ============ |
| |
| HV-VES is exposed as NodePort service on Kubernetes cluster on port 30222/tcp. |
| It uses plain TCP connections tunneled in SSL/TLS or can be run in insecure manner without data encryption on the socket. |
| Without TLS client authentication/authorization is not possible. |
| Connections are stream-based (as opposed to request-based) and long running. |
| |
| Communication is wrapped with thin Wire Transfer Protocol, which mainly provides delimitation. |
| |
| .. literalinclude:: WTP.asn |
| :language: asn |
| |
| Payload is binary-encoded, currently using Google Protocol Buffers representation of the VES Common Header. |
| |
| .. literalinclude:: VesEvent.proto |
| :language: protobuf |
| |
| The PROTO file, which contains the VES CommonHeader, comes with a binary-type Payload parameter, where domain-specific |
| data shall be placed. Domain-specific data are encoded as well with GPB, and they do require a domain-specific |
| PROTO file to decode the data. |
| |
| HV-VES makes routing decisions based mostly on the content of the **Domain** parameter in VES Common Header. |
| |
| |
| Healthcheck |
| =========== |
| |
| Inside HV-VES docker container runs small http service for healthcheck - exact port for this service can be configured |
| at deployment using `--health-check-api-port` command line option. |
| |
| This service exposes single endpoint **GET /health/ready** which returns **HTTP 200 OK** in case HV-VES is healthy |
| and ready for connections. Otherwise it returns **HTTP 503 Service Unavailable** with short reason of unhealthiness. |
| |
| |
| |
| |
| |