RTA Config Service#
This service is part of the RTA Toolkit Services suite.
It provides a repository for configuration describing telemetry parameters, channels, events, etc. These are downloaded by McLaren ATLAS as part of loading a session.
It exposes a gRPC interface to define and manage sessions from your environment, and an outward-facing REST interface to be exposed to users via the Gateway Service.
This service is available as a binary for Windows and Linux, and as a Docker image.
Usage#
Docker#
Storing configuration on the file system:
docker run --rm \
-v /path/to/store:/configs \
-e RTA_Store=File \
-e RTA_FilePath=/configs \
-p 2660:2660 -p 2661:2661 -p 2662:2662 \
mclarenapplied/rta-configsvc
Storing configuration on AWS S3:
docker run --rm \
-e RTA_Store=Aws \
-e RTA_AwsS3Bucket=my-config-bucket \
-p 2660:2660 -p 2661:2661 -p 2662:2662 \
mclarenapplied/rta-configsvc
Command Line#
Storing configuration on the file system:
rta-configsvc --Store File --FilePath /configs
Storing configuration on AWS S3:
rta-configsvc --Store Aws --AwsS3Bucket my-config-bucket
Ports#
Port | Protocol | Usage |
---|---|---|
2660 | HTTP | Expose to ATLAS via Gateway Service |
2661 | HTTPS | Expose to ATLAS via Gateway Service |
2662 | gRPC | Expose within local environment |
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 the file system path or AWS S3 bucket is accessible.
In Kubernetes, use this for readiness probes. - HTTP
GET /metrics
- Prometheus metrics, including the health check status.
Configuration#
The service can be configured to store data either on the file system, or on AWS S3.
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, FilePath
is RTA_FILEPATH
or RTA_FilePath
.
For Linux and on Kubernetes, also replace :
with __
.
For example, Category:Item
is RTA_CATEGORY__ITEM
.
Option | Value | Required |
---|---|---|
Store |
File or Aws |
yes |
FilePath |
Path to config volume | if Store=File |
AwsS3Bucket |
S3 bucket name | if Store=Aws |
Init Store#
InitStoreAndExit=true
will cause the service to initialize the store and exit immediately.
This enables the service to be used to setup or upgrade the environment.
Option | Value | Required | Default |
---|---|---|---|
InitStoreAndExit |
true or false |
no | false |
Authentication and Authorization#
These options enable OAuth 2.0 support. This service is intended to run within a private network, behind the Gateway Service, which will forward the Bearer token if present.
Option | Value | Required |
---|---|---|
EnableAuth |
true or false |
no |
Auth:Authority |
OAuth2 authorization server | if EnableAuth=true |
Auth:Audience |
OAuth2 audience | if EnableAuth=true |