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.
docker run --rm \
-e RTA_RedisConnectionString=myredishost \
-p 80:80 -p 443:443 \
mclarenapplied/rta-streamsvc
rta-streamsvc --RedisConnectionString myredishost
| Port | Protocol | Usage |
|---|---|---|
| 80 | HTTP | Expose to ATLAS via the Gateway Service or TLS-enabled ingress |
| 443 | HTTPS | Expose to ATLAS directly, or via Gateway Service or TLS-enabled ingress |
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.
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, RedisConnectionString is RTA_REDISCONNECTIONSTRING or RTA_RedisConnectionString.
For Linux and on Kubernetes, also replace : with __.
For example, Category:Item is RTA_CATEGORY__ITEM.
| Option | Value | Required | Default |
|---|---|---|---|
RedisConnectionString | Redis connection string | yes | |
RedisDb | Redis database id | no | 0 |
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.
| Option | Value | Required | Default |
|---|---|---|---|
EnableTrimmer | true or false | no | true |
Trimmer:TargetStreamLength | Target number of entries in each Redis stream | no | 10000 |
Trimmer:Interval | Interval (sec) between stream trimming | no | 30 |
Trimmer:ApproxLength | Approx trimming (true or false) | no | false |
These options enable OAuth 2.0 support.
| Option | Value | Required |
|---|---|---|
EnableAuth | true or false | no |
Auth:Authority | OAuth2 authorization server | if EnableAuth=true |
Auth:Audience | OAuth2 audience | if EnableAuth=true |
Content type
Image
Digest
sha256:4aa0204c9…
Size
121.5 MB
Last updated
11 months ago
docker pull atlasplatformdocker/rta-streamsvc