Sign inSign up

atlasplatformdocker/rta-streamsvc

By atlasplatformdocker

Updated 11 months ago

Image
0

290

atlasplatformdocker/rta-streamsvc repository overview

RTA Stream Service

This service is part of the RTA Toolkit Services suite.

It provides a Web Socket for streaming session updates so that McLaren ATLAS can display live data.

It reads data from Redis. There is no GRPC interface, and the outward-facing Web Socket interface should be exposed to users either directly or via the Gateway Service.

This service is available as a binary for Windows and Linux, and as a Docker image.

Usage

Docker
docker run --rm \
  -e RTA_RedisConnectionString=myredishost \
  -p 80:80 -p 443:443 \
  mclarenapplied/rta-streamsvc
Command Line
rta-streamsvc --RedisConnectionString myredishost

Ports

PortProtocolUsage
80HTTPExpose to ATLAS via the Gateway Service or TLS-enabled ingress
443HTTPSExpose to ATLAS directly, or via Gateway Service or TLS-enabled ingress

Monitoring

HTTP GET / : Returns 200 OK and reports the software version. In Kubernetes, use this for liveness probes.

HTTP GET /health : Returns 200 OK if the service is up and Redis is accessible.
In Kubernetes, use this for readiness probes.

HTTP GET /metrics : Prometheus metrics, including the health check status.

Configuration

Options can be set using both environment variables and command line arguments, or by the provided appsettings.config JSON configuration file.

Environment variables are all prefixed with RTA_, and can be written in ALLCAPS or MixedCase.
For example, Redis​ConnectionString is RTA_REDIS​CONNECTIONSTRING or RTA_Redis​ConnectionString.

For Linux and on Kubernetes, also replace : with __.
For example, Category:Item is RTA_CATEGORY__ITEM.

OptionValueRequiredDefault
Redis​ConnectionStringRedis connection stringyes
RedisDbRedis database idno0
Trimmer

The trimmer caps the length of Redis streams to limit memory consumption. The TargetStreamLength should be set according to the data rate, data source, Redis instance size, and how long it takes for data to be flushed to storage in the deployment.

OptionValueRequiredDefault
EnableTrimmertrue or falsenotrue
Trimmer:​TargetStreamLengthTarget number of entries in each Redis streamno10000
Trimmer:​IntervalInterval (sec) between stream trimmingno30
Trimmer:​ApproxLengthApprox trimming (true or false)nofalse
Authentication and Authorization

These options enable OAuth 2.0 support.

OptionValueRequired
EnableAuthtrue or falseno
Auth:AuthorityOAuth2 authorization serverif EnableAuth=​true
Auth:AudienceOAuth2 audienceif EnableAuth=​true

Tag summary

Content type

Image

Digest

sha256:4aa0204c9

Size

121.5 MB

Last updated

11 months ago

docker pull atlasplatformdocker/rta-streamsvc