RRS Container

Summary

Deploys an embedded web server to handle API requests invoked by users in CAT-RCKMS.

Attributes

Parameter
Value

Type

Primary

Name

rckms-reports-service

Image

rckms-reports-service

Image Pull Policy

Always

Command

Arguments

Port

8080

Security Context

  • Allow Privilege Escalation: false

Endpoints

External-to-Cluster

circle-exclamation

Generate All Concepts & Value Sets Report

POST /all-concepts-value-sets/generate

Headers

Name
Type
Description

X-Cat-Session*

String

Provide a valid CAT-RCKMS (provisioned by MTS) SessionID token.

Content-Type*

String

Should be set to application/json; charset=utf-8.

Get All Conditions Report

GET /all-conditions

Headers

Name
Type
Description

X-Cat-Session*

String

Provide a valid CAT-RCKMS (provisioned by MTS) SessionID token.

Get All Jurisdictions Status Report

GET /all-jurisdictions-status

Headers

Name
Type
Description

X-Cat-Session*

String

Provide a valid CAT-RCKMS (provisioned by MTS) SessionID token.

Get Metadata for All Concepts & Value Sets Report

GET /all-concepts-value-sets

Headers

Name
Type
Description

X-Cat-Session*

String

Provide a valid CAT-RCKMS (provisioned by MTS) SessionID token.

Get All Concepts & Value Sets Report

GET /all-concepts-value-sets/{{reference}}

Path Parameters

Name
Type
Description

{{reference}}*

String

latest will return most recent version of report. Alternatively, provide a report UUID to fetch that specific instance.

Headers

Name
Type
Description

X-Cat-Session*

String

Provide a valid CAT-RCKMS (provisioned by MTS) SessionID token.

Internal

Liveness Probe

GET /__probes/liveness

Refer to the Kubernetes Documentation for more information on probes.

Readiness Probe

GET /__probes/readiness

Refer to the Kubernetes Documentation for more information on probes.

Environment Variables

All environment variables, unless otherwise indicated, are considered required.

General Variables

chevron-rightNODE_ENVhashtag

When set to production, optimizes runtime performance.

Accepted Values

  • default

  • production

chevron-rightPORThashtag

Controls which port the embedded web server is bound to.

Accepted Values

  • 8080 default

  • Any numerical value. Should match the value of Port parameter in Attributes.

Postgres Database Connectivity

chevron-rightDB_SCHEMA_NAMESPACE Optional hashtag

Explicitly define the schema to interact against for table-based queries.

If no value is provided, uses the Postgres user's search_path to resolve schema-to-table hierarchy.

Accepted Values

  • default

  • A non-default public or "$user" schema name.

chevron-rightPG_DB_HOSThashtag

Define hostname of the Postgres database instance to connect to.

Accepted Values

  • Any valid Postgres database hostname or IP address.

chevron-rightPG_DB_PORThashtag

Define Postgres database instance port.

Accepted Values

  • Typically 5432, the standard Postgres port.

chevron-rightPG_DB_NAMEhashtag

Define Postgres instance database name to connect to.

Accepted Values

  • Any Postgres database, e.g. cdsfw_prod or rckms_staging.

circle-info

Due to differences in database implementations between AIMS environments, the following Postgres user accounts should be used in MTS and RRS connections:

  • AIMS Production: rckms

  • AIMS Onboard: rckms

  • AIMS PRR: rckms_prr

chevron-rightPG_DB_USERhashtag

Define Postgres database username to authenticate with.

Accepted Values

  • Any Postgres username value.

chevron-rightPG_DB_PASS Secret hashtag

Define Postgres database password to authenticate with.

Accepted Values

  • The password for the user specified in PG_DB_USER.

Knowledge Module Storage Bucket Connectivity

circle-info

To make storage of reports easier for operators, reports are stored in a separate directory than knowledge modules, enabling the sharing of a single bucket per environment.

chevron-rightSTORAGE_PROVIDERhashtag

Toggles the underlying Cloud Platform SDK libraries used for connectivity and CRUD operations on the defined cloud storage bucket.

Accepted Values

  • aws default

  • gcp

chevron-rightCLOUD_STORAGE_BUCKET_NAME hashtag

Defines the bucket name/connection URI for the target Knowledge Module storage bucket resource.

Accepted Values

  • A valid platform connection URI or bucket name per SDK guidance. For Google Cloud Storage buckets, omit the gs:// prefix, and leverage GKE Workload Identity for permitting read and write operations. For AWS S3 buckets, ensure that an AWS_PROFILE or Pod service account workload identity is configured properly for read and write operations.

Intra-mesh Connectivity

chevron-rightCAT_BASE_URIhashtag

Define the URI for CAT-RCKMS application for this environment. Used in generating notifications in the Middle Tier Service (MTS).

Accepted Values

  • Any valid URL, including protocol, hostname, and path. For example, https://rckms-prod-authoring.aimsplatform.com/ or https://mirror.rckms.dev/cat/ would be considered acceptable values.

chevron-rightMTS_RS_CORE_URI hashtag

Define the Kubernetes Service endpoint for MTS "Core" classified interactions.

Accepted Values

  • Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path. For example, http://mts.prd.svc.cluster.local:80/mts-rs-core would be considered an acceptable value for a service resource named mts, in the prd namespace, with a service port of 80 and a path value of mts-rs-core.

chevron-rightMTS_APPhashtag

Specify which MTS "application" to authenticate against.

Accepted Values

  • CAT is the only acceptable value.

chevron-rightMTS_USERNAMEhashtag

Define RCKMS CAT user username to authenticate against MTS with.

Accepted Values

  • Any RCKMS CAT username value, but typically set to admin.

chevron-rightMTS_PASSWORD Secret hashtag

Define RCKMS CAT user password to authenticate against MTS with.

Accepted Values

  • The password for the user specified in MTS_USERNAME.

Logging Level Configuration

chevron-rightLOGGING_LEVEL Optional hashtag

This container is configured with Pino logging libraryarrow-up-right, which gives engineers and operators more granular control over logging output in Node applications.

Accepted Values

  • debug Verbose logging. Useful for triaging.

  • info default Standard logging output.

  • warn Outputs log events classified as warnings or higher.

  • error Outputs log events classified as errors or higher.

  • fatal Only fatal, typically uncaught exceptions will be logged.

  • silent Disables all logging output.

  • trace Extremely verbose logging.

Sentry Configuration

chevron-rightSENTRY_DSN Optional hashtag

Enables Sentry error reporting and application performance monitoring.

If no value is provided, disables Sentry functionality.

Accepted Values

  • default

  • A valid Sentry DSN URL

chevron-rightSENTRY_ENVIRONMENT Optional hashtag

Additional metadata to enrich errors and metrics captured by Sentry.

Accepted Values

  • Any string value, preferably the name of the environment this workload is operating.

chevron-rightSENTRY_RELEASE Optional hashtag

Additional metadata to enrich errors and metrics captured by Sentry.

Accepted Values

  • Any string value, preferably the commit short SHA1 or container tag/version.

Probes

Liveness

Parameter
Value

Mode

HTTP (GET)

Arguments

  • Path: /__/probes/liveness

  • Port: 8080 (must match container port)

Timings

  • Initial Delay of 15s

  • Period of 60s

  • Timeout of 5s

Thresholds

  • 1 Successes

  • 3 Failures

Readiness

Parameter
Value

Mode

HTTP (GET)

Arguments

  • Path: /__/probes/readiness

  • Port: 8080 (must match container port)

Timings

  • Initial Delay of 15s

  • Period of 15s

  • Timeout of 5s

Thresholds

  • 1 Successes

  • 3 Failures

Startup

circle-info

This container does not utilize startup probes.

Resources

CPU (in millicores)
RAM (in MiB)
Storage (in GiB)

500

768

N/A

Technology Stack

Container uses Alpine Linux base image from the official Node repository, targeting the Node 14 LTS variant. Deploys an ExpressJS web server for routing requests.

Volume Mounts

circle-info

This container does not mount any volumes.

Workload Identity

This container requires a Pod Service Account with the following role(s):

  • Cloud SQL Client / AWS RDS Client User

  • Google Cloud Storage / AWS S3 Bucket Maintainer

  • Google Cloud Storage / AWS S3 Bucket Object Creator

  • Google Cloud Storage / AWS S3 Bucket Object Editor

Code Owners

Name
Organization
Email

Last updated