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
  • Submitting Shared Service Output for Comparison
  • Internal
  • Liveness Probe
  • Readiness Probe
  • Environment Variables
  • General Variables
  • Application Configuration
  • Document Database Connectivity
  • Probes
  • Liveness
  • Readiness
  • Startup
  • Resources
  • Technology Stack
  • Volume Mounts
  • Workload Identity
  • Code Owners
  1. Architecture
  2. Kubernetes
  3. Workloads
  4. SSCS

SSCS Container

Summary

Container exposes an interface by which RCKMS Output from a control and test variant of the RCKMS Shared Service (SS) can be ingested for performing a diff against, for stakeholders to validate and certify new releases of the SS workload.

Attributes

Parameter
Value

Type

Primary

Name

ss-comparison-service

Image

ss-comparison-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.

Submitting Shared Service Output for Comparison

POST /ss-comparison-service/v1/comparison-tests/{test-id}/comparison-sets/{set-id}/output/{source-id}

The primary entrypoint for the SSCS. Path parameters specify the comparison record metadata, whereas the request body contains a JSON payload with the rckmsOutput and other necessary data points from the Shared Service invocation.

Path Parameters

Name
Type
Description

test-id*

String

Should be set to a valid ComparisonTest ID that exists in the comparison_test collection in the Document store database.

set-id*

String

The unique ID that identifies a set of output files. This value must be the same for the submission of both the control and variant outputs.

source-id*

String

A unique identifier for the source of the file, i.e. for the control or variant output.

For example, when submitting the output for the control version of the Shared Service, it might be RCKMS_OLD, and for the variant version it might be RCKMS_NEW.

Note that whatever value is used for the control version, must also be configured in the comparison_test document in mongo corresponding with the test ID being used.

Headers

Name
Type
Description

Content-Type*

String

Should be set to application/json.

Request Body

Name
Type
Description

serviceStatus*

Integer

HTTP status code from the Shared Service response.

serviceOutput*

String

rckmsOutput XML document response from the Shared Service.

serviceResponseTime*

Integer

The elapsed time to get the Shared Service response, in milliseconds.

Internal

Liveness Probe

GET /manage/health

Refer to the Kubernetes Documentation for more information on probes.

{
    // Response
}
{
    // Response
}

Readiness Probe

GET /manage/health

Refer to the Kubernetes Documentation for more information on probes.

{
    // Response
}
{
    // Response
}

Environment Variables

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

The SSCS container supports additional configuration options beyond the common variables defined below. To review all available options, review src/main/resources/application.yml in the container source repository.

General Variables

JAVA_TOOL_OPTIONS

Feature flags and default configuration overrides for the container's embedded JVM.

Example Value

-Xms1g -Xmx1280m -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/hln/diagnostics/garbageCollection.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=10m -XX:+UseStringDeduplication	

Explanation of Options

  • -Xms1g: sets the initial heap size allocation to 1GB (1024 MiB)

  • -Xmx1280m: sets the maximum heap size allocation to 1.25GB (1280 MiB)

  • -XX:+UseG1GC: enables the usage of the G1 garbage collector.

  • -XX:+PrintGCDetails -XX:+PrintGCDateStamps controls verbosity of garbage collection logging output.

  • -Xloggc:/hln/diagnostics/garbageCollection.log path for the garbage collection logging output file.

  • -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=10m enables the rotation of log files once the maximum file size of 10MB has been reached.

  • -XX:+UseStringDeduplication avoids duplicate garbage collection log entries.

Application Configuration

management-base-url

Define the endpoint by which the embedded management interface is accessible, including protocol, hostname, port (if not inferred by protocol), and path of /ss-comparison-service/v1/management.

Example Value

  • https://rckms-sscs.eks.aimsplatform.org/ss-comparison-service/v1/management

spring_profiles_active Optional

Container includes embedded configuration profiles for ease of use in various environments.

Accepted Values

  • default

  • nonprod Configures SSCS to ignore certain data discrepancies that exist only when comparing one non-production environment to another non-production environment.

processor.enabled Optional

Feature flag to control the functionality of the queue processor.

Accepted Values

  • true default

  • false Disables the queue processor.

processor.delete-on-complete Optional

Optimizes the volume of comparison records retained in the Document store database.

Accepted Values

  • true default Queue records will be deleted once they are processed without error.

  • false Queue records will be retained until deleted by operators, or automatically by the retention policy set in service-output-expiration.

service-output-expiration Optional

Retention period for comparison records in the Document store database.

Accepted Values

  • 10d default Retain queue records for 10 days.

  • Any numerical value with a valid time indicator suffix, e.g. 7d for 7 day retention.

Document Database Connectivity

mongodb.uri Secret

Provide a full MongoDB-compatible connection URI, including protocol prefix mongodb://, username and password, hostname, port, and database name.

Example Value

  • mongodb://username:password@localhost:27017/rckms

Probes

Liveness

Parameter
Value

Mode

HTTP (GET)

Arguments

  • Path: /manage/health

  • Port: 8080 (must match container port)

Timings

  • Initial Delay of 60s

  • Period of 30s

  • Timeout of 5s

Thresholds

  • 1 Successes

  • 3 Failures

Readiness

Parameter
Value

Mode

HTTP (GET)

Arguments

  • Path: /manage/health

  • Port: 8080 (must match container port)

Timings

  • Initial Delay of 15s

  • Period of 15s

  • Timeout of 5s

Thresholds

  • 1 Successes

  • 3 Failures

Startup

This container does not utilize startup probes.

Resources

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

250

1024

N/A

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

500

1536

N/A

Technology Stack

Container is a Java Spring Boot web application.

Volume Mounts

Name
Read-Only
Mount Point
Subpath

java-diag

/hln/diagnostics

Workload Identity

Container requires writable connectivity to the Document store database.

Code Owners

Name
Organization
Email

Blake Minghelli

HLN Consulting, LLC

blake@hln.com

PreviousSSCSNextVCS

Last updated 3 years ago