Cloud Operations
Production CATRancherDatadog
  • Welcome
  • Fundamental Concepts
    • Authoring
    • Reportability
    • Knowledge Modules
    • Synchronization
    • Mirth & Message Queuing
    • Glossary
  • Operations Handbook
    • Achieving Steady State
    • Leveraging Kubernetes
    • Triaging Issues
    • Escalation Policy
    • Playbooks
      • Sync-all (Redeploy) Knowledge Modules
  • Deployments
    • Methodology
    • Bill of Materials
      • AIMS Production
        • 2025
          • 2025-02-12
          • 2025-03-19
          • 2025-04-30
          • 2025-06-25
        • 2024
          • 2024-01-31
          • 2024-04-03
          • 2024-04-03 [PATCH]
          • 2024-06-05 [patched 05/31]
          • 2024-06-10 [PATCH TO 2024-06-05]
          • 2024-06-20 [PATCH TO 2024-06-05]
          • 2024-08-14
          • 2024-08-26 [PATCH TO 2024-08-14]
          • 2024-10-16
          • 2024-12-11
          • 2024-12-11 [PATCH 1]
        • 2023
          • 2023-02-22
          • 2023-02-22 Patch 01
          • 2023-05-18
          • 2023-07-26
          • 2023-10-04
          • 2023-11-15
        • 2022
          • 2022-12-14
          • 2022-11-09
          • 2022-09-28
          • 2022-08-18
          • 2022-07-13
          • 2022-06-15
          • 2022-05-16
          • 2022-05-02
          • 2022-04-27
          • 2022-04-21
          • 2022-04-14
          • 2022-04-13
          • 2022-04-12
          • 2022-03-14
          • 2022-02-16
          • 2022-1-27
          • 2022-01-24
          • 2022-01-06
        • 2021
          • 2021-12-06
          • 2021-11-29
          • 2021-11-17
      • AIMS PRR
        • 2023
          • 2023-02-22
          • 2023-02-22 Patch 01
          • 2023-05-18
          • 2023-07-26
          • 2023-10-04
          • 2023-11-15
        • 2022
          • 2022-12-14
          • 2022-11-09
          • 2022-09-28
          • 2022-08-18
          • 2022-07-13
          • 2022-06-15
          • 2022-05-16
          • 2022-05-02
          • 2022-04-27
          • 2022-04-21
          • 2022-04-14
          • 2022-04-13
          • 2022-04-12
          • 2022-01-06
        • 2021
          • 2021-12-06
          • 2021-11-29
          • 2021-11-17
        • 2024
          • 2024-01-31
          • 2024-04-03
          • 2024-04-03 [PATCH]
          • 2024-06-05 [patched 05/31]
          • 2024-06-10 [PATCH TO 2024-06-05]
          • 2024-06-20 [PATCH TO 2024-06-05]
          • 2024-08-14
          • 2024-08-26 [PATCH TO 2024-08-14]
          • 2024-10-16
          • 2024-12-11
          • 2024-12-11 [PATCH 1]
        • 2025
          • 2025-02-12
          • 2025-03-19
          • 2025-04-30
          • 2025-06-25
      • AIMS Onboarding
        • 2023
          • 2023-02-22
          • 2023-02-22 Patch 01
          • 2023-05-18
          • 2023-07-26
          • 2023-10-04
          • 2023-11-15
        • 2022
          • 2022-12-14
          • 2022-11-09
          • 2022-09-28
          • 2022-08-18
          • 2022-07-13
          • 2022-06-15
          • 2022-05-16
          • 2022-05-02
          • 2022-04-27
          • 2022-04-21
          • 2022-04-14
          • 2022-04-13
          • 2022-04-12
          • 2022-04-04
          • 2022-01-06
        • 2021
          • 2021-12-06
          • 2021-11-29
          • 2021-11-17
        • 2024
          • 2024-01-31
          • 2024-04-03
          • 2024-04-03 [PATCH]
          • 2024-06-05 [patched 05/31]
          • 2024-06-10 [PATCH TO 2024-06-05]
          • 2024-06-20 [PATCH TO 2024-06-05]
          • 2024-08-14
          • 2024-08-26 [PATCH TO 2024-08-14]
          • 2024-10-16
          • 2024-12-11
          • 2024-12-11 [PATCH 1]
        • 2025
          • 2025-02-12
          • 2025-03-19
          • 2025-04-30
          • 2025-06-25
      • Archived Environments
        • AIMS Sandbox
          • 2022-01-06
          • 2021-12-06
          • 2021-11-29
          • 2021-11-17
          • 2021-09-21
          • 2021-09-20
          • 2021-08-27
          • 2021-07-01
          • 2021-06-21
          • 2021-06-07
          • 2021-06-17
          • 2021-05-26
  • Architecture
    • Overview
    • Diagrams
      • HLN Hosted Environments
    • Data State
      • Authoring Database
      • Cloud Storage Buckets
      • Document Database
    • Kubernetes
      • Services
      • Workloads
        • Common Sidecars
          • 🚮GC Logging for Java
          • 🪢Cloud SQL Proxy
        • DSS
          • DSS Preflight Container
          • DSS Container
        • DSUS
          • DSUS Container
        • MTS
          • MTS Container
        • OUS
          • OUS Container
        • RGS
          • RGS Container
        • RRS
          • RRS Container
        • SS
          • SS Container
        • SSCS
          • SSCS Container
        • VCS
          • VCS Container
        • In-Development
          • EIS
          • FHIR
    • Web Applications
      • CAT
  • GitBook Resources
    • Workload Template
      • Container Template
Powered by GitBook
On this page
  • Summary
  • Attributes
  • Endpoints
  • External-to-Cluster
  • Shared Service Invocation
  • Internal
  • Intra-mesh Connectivity Diagnostics
  • Liveness Probe
  • Readiness Probe
  • Environment Variables
  • General Variables
  • Document Database Connectivity
  • RCKMS Platform Configuration
  • Intra-mesh Connectivity
  • Logging Level Configuration
  • Sentry Configuration
  • Probes
  • Liveness
  • Readiness
  • Startup
  • Resources
  • Technology Stack
  • Volume Mounts
  • Workload Identity
  • Code Owners
  1. Architecture
  2. Kubernetes
  3. Workloads
  4. SS

SS Container

Summary

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

  • 8080 default

Document Database Connectivity

DOCUMENT_STORE_PLATFORM

Toggles a few Mongo client options for optimal performance based on target platform.

Accepted Values

  • mongodb default

  • 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/rckms default

  • 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

  • false default

  • 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

  • false default

  • 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.

  • 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.

ENABLE_DB_LOGGING Optional

Controls the storage of performance metrics in the attached Document database.

Accepted Values

  • false default

  • 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.

Code Owners

PreviousSSNextSSCS

Last updated 3 years ago

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.

Name
Organization
Email

HLN Consulting, LLC

charlie@hln.com

Pino logging library
RAM resource limit
Attributes
Charlie Maxwell