Deploys the RCKMS Shared Service RESTful API application.
Attributes
Parameter
Value
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
Name
Type
Description
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.
{
// Response
}
{
// Response
}
Readiness Probe
GET /__/probes/readiness
Refer to the Kubernetes Documentation for more information on probes.
{
// Response
}
{
// Response
}
Environment Variables
All environment variables, unless otherwise indicated, are considered required.
General Variables
NODE_ENV
When set to production, optimizes runtime performance.
Accepted Values
default
production
NODE_OPTIONS
Applies override flags to the Node runtime.
Accepted Values
default
PORT
Controls which port the embedded web server is bound to.
Accepted Values
8080default
Document Database Connectivity
DOCUMENT_STORE_PLATFORM
Toggles a few Mongo client options for optimal performance based on target platform.
Accepted Values
mongodbdefault
aws-documentdb
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/rckmsdefault
Any valid MongoDB connection URI string, without protocol prefix (e.g. do not include mongodb:// in the value)
DOCUMENT_STORE_TLS_ALLOW_INVALID_CERTIFICATES
Override native Mongo client security policy related to self-signed certificates.
Accepted Values
falsedefault
true Underlying Mongo client will allow self-signed certificates.
DOCUMENT_STORE_TLS_ALLOW_INVALID_HOSTNAME
Override native Mongo client security policy related to certificate hostname matching.
Accepted Values
falsedefault
true Underlying Mongo client will allow certificate hostname mismatches.
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.
LOCATION_BOTH_CODE
Accepted Values
RRVS7
LOCATION_CODE_SYSTEM
Accepted Values
2.16.840.1.114222.4.5.274
LOCATION_FACILITY_CODE
Accepted Values
RRVS6
LOCATION_PATIENT_CODE
Accepted Values
RRVS5
MIRTH_ID_KEY
Specifies which request header to use for populating the mirth_id tag in logging events.
Accepted Values
default
X-MirthId
OPENCDS_BUSINESS_ID
Accepted Values
RCKMS
OPENCDS_CLIENT_TZ_LANG
Specifies the language to use for OpenCDS responses.
Accepted Values
en
OPENCDS_CLIENT_TZ_OFFSET
Specifies the timezone offset value for OpenCDS to operate under.
Accepted Values
0
OPENCDS_CONNECTION_TIMEOUT
Specifies how many milliseconds the Shared Service (SS) will consider a connection to be open, prior to timing out.
Accepted Values
50000
OPENCDS_CONTAINING_BUSINESS_ID
Accepted Values
GZIPICEData
OPENCDS_CONTAINING_SCOPING_ENTITY_ID
Accepted Values
org.cdsframework.rckms
OPENCDS_CONTAINING_VERSION
Accepted Values
1.0.0
OPENCDS_INTERACTION_SCOPING_ENTITY_ID
Accepted Values
org.cdsframework.rckms
OPENCDS_REQUEST_TIMEOUT
Specifies the duration the Shared Service will wait for a response from DSS, in milliseconds.
Accepted Values
300000
OPENCDS_SCOPING_ENTITY_ID
Accepted Values
org.cdsframework.rckms
OPENCDS_VERSION
Accepted Values
1.0.0
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/evaluateAtSpecifiedTime would be considered an acceptable value for a service resource named dss, in the prd namespace, with a service port of 80 and 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/evaluateAtSpecifiedTime would be considered an acceptable value for a service resource named dss, in the prd namespace, with a service port of 80 and 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 named dss, in the prd namespace, with a service port of 80 and 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 named vcs, in the prd namespace, with a service port of 80 and 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/convert would be considered an acceptable value for a service resource named vcs, in the prd namespace, with a service port of 80 and the proper path value of /convert.
Logging Level Configuration
LOGGING_LEVEL Optional
Accepted Values
debug Verbose logging. Useful for triaging.
infodefault 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.
ENABLE_DB_LOGGING Optional
Controls the storage of performance metrics in the attached Document database.
Accepted Values
falsedefault
true
Sentry Configuration
SENTRY_DSN Optional
Enables Sentry error reporting and application performance monitoring.
If no value is provided, disables Sentry functionality.
Accepted Values
default
A valid Sentry DSN URL
SENTRY_ENVIRONMENT Optional
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.
SENTRY_RELEASE Optional
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
2 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
2 Failures
Startup
This container does not utilize startup probes.
Resources
CPU (in millicores)
RAM (in MiB)
Storage (in GiB)
750
1536
N/A
CPU (in millicores)
RAM (in MiB)
Storage (in GiB)
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.
As 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 for this container.
Any numerical value. Should match the value of Port parameter in .
This container is configured with , which gives engineers and operators more granular control over logging output in Node applications.