Sign inSign up

atlasplatformdocker/rta-server

By atlasplatformdocker

Updated 11 months ago

Image
0

297

atlasplatformdocker/rta-server repository overview

RTA Server

This service is part of the RTA Toolkit Services suite.

It bundles together functionality from the Session Service, Config Service, Data Service and Stream Service for development convenience. We recommend against using this service in production except for small private deployments.

The service exposes internal GRPC interfaces to manage sessions, configuration and data, and an outward-facing REST interface to be exposed to ATLAS users.

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

Usage

Docker

Storing configuration and data on the file system:

docker run --rm \
  -v /path/to/store/configs:/data/rta-configs \
  -v /path/to/store/data:/data/rta-data \
  -e "RTA_PostgresConnectionString=Server=mydbhost;Port=5432;Database=postgres;User Id=postgres;Password=hunter2;" \
  -e RTA_PostgresSchema=rta_sessions \
  -e RTA_Store=File \
  -p 8080:8080 -p 8081:8081 -p 8082:8082 \
  mclarenapplied/rta-server

Storing configuration and data on AWS:

docker run --rm \
  -e "RTA_PostgresConnectionString=Server=mydbhost;Port=5432;Database=postgres;User Id=postgres;Password=hunter2;" \
  -e RTA_PostgresSchema=rta_sessions \
  -e RTA_Store=Aws \
  -e RTA_AwsS3ConfigsBucket=myconfigsbucket \
  -e RTA_AwsS3DataBucket=mydatabucket \
  -e RTA_AwsDynamoDataTable=mydatatable \
  -p 8080:8080 -p 8081:8081 -p 8082:8082 \
  mclarenapplied/rta-server
Command Line

Storing configuration and data on the file system:

rta-server --PostgresConnectionString "Server=mydbhost;Port=5432;Database=postgres;User Id=postgres;Password=hunter2;" --PostgresSchema rta_sessions --Store File --FileConfigsPath /configs --FileDataPath /data

Storing configuration and data on AWS:

rta-server --PostgresConnectionString "Server=mydbhost;Port=5432;Database=postgres;User Id=postgres;Password=hunter2;" --PostgresSchema rta_sessions --Store Aws --AwsS3ConfigsBucket myconfigsbucket --AwsS3DataBucket mydatabucket --AwsDynamoDataTable mydatatable

Ports

PortProtocolUsage
8080HTTPExpose to ATLAS via a TLS-enabled ingress unless using for local development
8081HTTPSExpose to ATLAS directly or via an ingress unless using for local development
8082GRPCExpose 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 all configured service URIs are accessible at their root path.
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, PostgresSchema is RTA_POSTGRESSCHEMA or RTA_PostgresSchema.

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

OptionValueRequiredDefault
Postgres​ConnectionStringDatabase connection stringyes
Postgres​SchemaDatabase schema namenorta_sessions
Postgres​Connection​TimeoutTime (ms) to wait for a connectionno60000
StoreFile or Awsnofile
FileConfigsPathPath to config volumeif Store=​File
FileDataPathPath to data volumeif Store=​File
AwsS3​ConfigsBucketS3 bucket name for configsif Store=​Aws
AwsS3​DataBucketS3 bucket name for dataif Store=​Aws
Aws​DynamoDataTableDynamoDB table name for data indexesif Store=​Aws
EnableDataWriteEnables the service for data write access via GRPC; true or falsenotrue
EnableDataAdminEnables the servier for data admin access via GRPC; true or falsenotrue
EnableGrpcEnables GRPC services to manage sessions, config and data; true or falsenotrue

Memory Management options are also available. Refer to the Data Service README for details.

Init Store

InitStore=true will cause the service to initialize the database and stores on startup. This enables the service to be used to setup or upgrade the environment.

OptionValueRequiredDefault
InitStoretrue or falsenotrue
Service Info

ATLAS will poll /rta/v2/info to check whether authentication is required, and retrieve a label and description to display to the user.

These are configurable. This is particularly useful in an environment where users be using multiple services, perhaps hosted at different locations.

OptionValueRequiredDefault
ServiceInfo:​LabelHuman-readable short labelnoText including the hostname
ServiceInfo:DescriptionHuman-readable descriptionno
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:9b403dbcc

Size

129.4 MB

Last updated

11 months ago

docker pull atlasplatformdocker/rta-server