SS Container
Summary
Deploys the RCKMS Shared Service RESTful API application.
Attributes
Type
Primary
Name
shared-service
Image
shared-service
Image Pull Policy
Always
Command
Arguments
Port
8080
Security Context
Allow Privilege Escalation:
false
Endpoints
External-to-Cluster
This container does have external-to-cluster exposed endpoints.
Shared Service Invocation
POST /
Performs the primary RCKMS Shared Service event loop.
Internal
Intra-mesh Connectivity Diagnostics
GET /__/diagnostics
Performs a connectivity test against DSS and VCS.
Path Parameters
serviceSlug
String
Optionally specify the "slug" for the service to perform a diagnostic against, e.g. /__diagnostics/dss will only perform a connectivity test against DSS.
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
NODE_OPTIONS
Applies override flags to the Node runtime.
Accepted Values
defaultAs this container deals with very large data objects, it is recommended to set a value of
--max-old-space-size=2048, which increases the default heap size of the Node runtime to accommodate larger garbage collection activities. Ideally, the numerical value (e.g.2048) would be set to 80% of the RAM resource limit for this container.
PORT
Controls which port the embedded web server is bound to.
Accepted Values
8080defaultAny numerical value. Should match the value of Port parameter in Attributes.
Document Database Connectivity
DOCUMENT_STORE_CONNECTION_URI Secret
Defines the URI by which to connect to the Document Store database.
As this includes the username and password, it should be mapped appropriately.
Accepted Values
localhost:27017/rckmsdefaultAny valid MongoDB connection URI string, without protocol prefix (e.g. do not include
mongodb://in the value)
RCKMS Platform Configuration
The following environment variables are used in the construction of DSS payloads, and should only be modified under the guidance of HLN engineers or operators. In future RCKMS releases, these may be deprecated in favor of hard-coded values within the container, or reduced to a runtime profile variable, for ease of operations.
Intra-mesh Connectivity
OPENCDS_PROD_ENDPOINT
Define the Kubernetes Service endpoint for DSS (PRODUCTION mode) interactions.
Accepted Values
Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to
opencds-decision-support-service/api/resources/evaluateAtSpecifiedTime. For example,http://dss.prd.svc.cluster.local:80/opencds-decision-support-service/api/resources/evaluateAtSpecifiedTimewould be considered an acceptable value for a service resource nameddss, in theprdnamespace, with a service port of80and the proper path value of/opencds-decision-support-service/api/resources/evaluateAtSpecifiedTime.
OPENCDS_TEST_ENDPOINT
Define the Kubernetes Service endpoint for DSS (TEST mode) interactions.
Accepted Values
Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to
opencds-decision-support-service-test/api/resources/evaluateAtSpecifiedTime. For example,http://dss.prd.svc.cluster.local:80/opencds-decision-support-service-test/api/resources/evaluateAtSpecifiedTimewould be considered an acceptable value for a service resource nameddss, in theprdnamespace, with a service port of80and the proper path value of/opencds-decision-support-service-test/api/resources/evaluateAtSpecifiedTime.
SERVICE_BASE_DSS
Define the Kubernetes Service base endpoint for DSS interactions.
Accepted Values
Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to
/. For example,http://rgs.prd.svc.cluster.local:80/would be considered an acceptable value for a service resource nameddss, in theprdnamespace, with a service port of80and the proper path value of/.
SERVICE_BASE_VCS
Define the Kubernetes Service endpoint for VCS interactions.
Accepted Values
Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to
/. For example,http://vcs.prd.svc.cluster.local:80/would be considered an acceptable value for a service resource namedvcs, in theprdnamespace, with a service port of80and the proper path value of/.
VMR_CONVERTER_ENDPOINT
Define the Kubernetes Service endpoint for VCS interactions.
Accepted Values
Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to
/convert. For example,http://vcs.prd.svc.cluster.local:80/convertwould be considered an acceptable value for a service resource namedvcs, in theprdnamespace, with a service port of80and the proper path value of/convert.
Logging Level Configuration
LOGGING_LEVEL Optional
This container is configured with Pino logging library, which gives engineers and operators more granular control over logging output in Node applications.
Accepted Values
debugVerbose logging. Useful for triaging.infodefault Standard logging output.warnOutputs log events classified aswarningsor higher.errorOutputs log events classified aserrorsor higher.fatalOnly fatal, typically uncaught exceptions will be logged.silentDisables all logging output.traceExtremely verbose logging.
Sentry Configuration
Probes
Liveness
Mode
HTTP (GET)
Arguments
Path:
/__/probes/livenessPort:
8080(must match container port)
Timings
Initial Delay of
15sPeriod of
60sTimeout of
5s
Thresholds
1Successes2Failures
Readiness
Mode
HTTP (GET)
Arguments
Path:
/__/probes/readinessPort:
8080(must match container port)
Timings
Initial Delay of
15sPeriod of
15sTimeout of
5s
Thresholds
1Successes2Failures
Startup
This container does not utilize startup probes.
Resources
750
1536
N/A
1000
2304
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
This container does not mount any volumes.
Workload Identity
Container does not require access to external-to-cluster resources.
Code Owners
Last updated