Sign inSign up

atlasplatformdocker/rta-schemamappingsvc

By atlasplatformdocker

•Updated 12 months ago

Image
0

435

atlasplatformdocker/rta-schemamappingsvc repository overview

⁠RTA Schema Mapping Service

This service is part of the RTA Toolkit Services suite.

It provides a repository to describe a mapping between a source schema in your data store, and the RTA domain model.

RTA makes data requests using channel numbers using descriptions downloaded from the Config Service. When integrating a new data source, these requests need to be mapped to something meaningful to the source schema, which likely represents data as named fields in files, tables or documents. This service provides a simple, standard way to store that Schema Mapping and perform lookups as required.

!!! info The Config Service is similar, but only describes the RTA domain model.
The Schema Mapping Service describes the relationship with the source schema, which is specific to the data storage technology.

It exposes a GRPC interface to define and query the Schema Mappings. Aside from metrics and health checks, there is no outward-facing REST interface, and this service is strictly optional.

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

⁠Usage

⁠Docker

Storing schema mappings on the file system:

docker run --rm \
  -v /path/to/store:/data/rta-schema-mappings \
  -e RTA_Store=File \
  -e RTA_FilePath=/data/rta-schema-mappings \
  -p 2680:2680 -p 2682:2682 \
  mclarenapplied/rta-schemamappingsvc

Storing schema mappings on AWS S3:

docker run --rm \
  -e RTA_Store=Aws \
  -e RTA_AwsS3Bucket=my-schema-mappings-bucket \
  -p 2680:2680 -p 2682:2682 \
  mclarenapplied/rta-schemamappingsvc
⁠Command Line

Storing schema mappings on the file system:

rta-schemamappingsvc --Store File --FilePath /data/rta-schema-mappings

Storing schema mappings on AWS S3:

rta-schemamappingsvc --Store Aws --AwsS3Bucket my-schema-mappings-bucket

⁠Ports

PortProtocolUsage
2680HTTPExpose within local environment for health checks and metrics only
2682GRPCExpose 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.

OptionValueRequired
StoreFile or Awsyes
FilePathPath to config volumeif Store=File
AwsS3BucketS3 bucket nameif 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.

OptionValueRequiredDefault
InitStoreAndExittrue or falsenofalse

Tag summary

Content type

Image

Digest

sha256:c5f18f013…

Size

120.4 MB

Last updated

12 months ago

docker pull atlasplatformdocker/rta-schemamappingsvc