MTS Container

Summary

MTS can best be described as a monolithic application, encompassing a multitude of submodules deployed as a single Java application. Of note, MTS bundles the Legacy CAT Primefaces web application, which HLN aims to fully deprecate and incorporate the CRUD functionality within the modern CAT-RCKMS web application.

Attributes

Parameter
Value

Type

Primary

Name

middle-tier-service

Image

middle-tier-service

Image Pull Policy

Always

Command

Arguments

Port

8080

Security Context

  • Allow Privilege Escalation: false

Endpoints

External-to-Cluster

circle-exclamation

Internal

Liveness Probe

GET /mts-rs-rckms/

At this time, MTS does not have a dedicated liveness probe endpoint. This endpoint will return a "Hello World!" message if the Payara web application server has initialized and is operating in a nominal state.

Readiness Probe

GET /mts-rs-rckms/

At this time, MTS does not have a dedicated readiness probe endpoint. This endpoint will return a "Hello World!" message if the Payara web application server has initialized and is operating in a nominal state.

Environment Variables

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

General Variables

chevron-rightJAVA_TOOL_OPTIONShashtag

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

Example Value

Explanation of Options

  • -Xms4g: sets the initial heap size allocation to 4GB (4096 MiB)

  • -Xmx9g: sets the maximum heap size allocation to 9GB (9216 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.

chevron-rightREQUEST_TIMEOUT_SEC Optionalhashtag

Override the default request timeout used by the embedded web server (Payara).

Acceptable Value

  • 1800 recommended value

  • Any numerical value, in seconds.

chevron-rightTCP_WRITE_TIMEOUThashtag

Override the default write timeout for responses to API requests that are either query-intensive, or produce an extremely large response body.

Acceptable Value

  • 300000 recommended value

  • Any numerical value, in milliseconds.

Postgres Database Connectivity

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-rightMTS_DATA_SOURCE_PROPERTIES Secret hashtag

JBDC-compatible Postgres database connection string.

Accepted Values

  • Any connection string that matches this format:

  • For example, the following string would be valid for a development Postgres database instance accessible via localhost:

chevron-rightCDS_DATA_SOURCE_PROPERTIES Secret hashtag

JBDC-compatible Postgres database connection string.

Accepted Values

  • Any connection string that matches this format:

  • For example, the following string would be valid for a development Postgres database instance accessible via localhost:

Legacy CAT ("Primefaces") Configuration

chevron-rightCAT_APPhashtag

Define MTS Application Registry ID for the legacy CAT ("Primefaces") application.

Accepted Values

  • Must be set to CAT.

chevron-rightCAT_CONTEXThashtag

Define pathname for the legacy CAT ("Primefaces") application.

Accepted Values

  • cat for AIMS environments

  • cat-pf for HLN environments

chevron-rightCAT_USERhashtag

Define RCKMS CAT user username for the legacy CAT ("Primefaces") application.

Accepted Values

  • The username for the CAT user identity. Typically set to CAT.

chevron-rightCAT_PASSWORD Secret hashtag

Define RCKMS CAT user password for the legacy CAT ("Primefaces") application.

Accepted Values

  • The password for the CAT user specified in CAT_USER.

Intra-mesh Connectivity

chevron-rightCAT_BS_URIhashtag

Define the URI for CAT-RCKMS application for this environment. As MTS generates system and email notifications, and data objects that do not use a relative path within the context of CAT-RCKMS, we must explicitly define this fragment of the URL.

Accepted Values

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

chevron-rightDATA_SUPPORT_UPDATE_SERVICE_URIhashtag

Define the URI for communicating with DSUS.

Accepted Values

  • Any valid URL, including protocol, hostname, and path without a terminating slash. For example, http://dsus.prd.svc.cluster.local would be considered an acceptable value.

chevron-rightRCKMS_SHARED_SERVICE_URIhashtag

Define the URI for communicating with SS.

Accepted Values

  • Any valid URL, including protocol, hostname, and path without a terminating slash. For example, http://ss.prd.svc.cluster.local would be considered an acceptable value.

MTS RESTful Services (RS) Configuration

chevron-rightBASE_RS_URIhashtag

Define the publicly-accessible URI for this MTS instance.

Accepted Values

  • Any valid URL, including protocol, hostname, and path without terminating slash. For example, https://rckms-mts.dmz.aimsplatform.com or https://mirror.rckms.dev/__service/mts would be considered acceptable values.

chevron-rightDEPLOY_SERVICE_URIhashtag

Define the URI for the Deploy Service embedded in this MTS instance.

Accepted Values

  • Any valid URL, including protocol, hostname, and path without terminating slash. For example, https://rckms-mts.dmz.aimsplatform.com/deploy-service or https://mirror.rckms.dev/deploy-service would be considered acceptable values.

chevron-rightRS_CRUD_APP_CONTEXThashtag

Define MTS RS API path pattern. Should match that set at build time for CAT-RCKMS, and pattern must be reflected in all services that communicate with MTS directly.

Accepted Values

  • Typically set to /mts-rs-%s, but any string with a preceding slash that terminates with a string argument %s would be considered valid.

Probes

Liveness

Parameter
Value

Mode

HTTP (GET)

Arguments

  • Path: /mts-rs-rckms/

  • Port: 8080 (must match container port)

Timings

  • Initial Delay of 45s

  • Period of 30s

  • Timeout of 5s

Thresholds

  • 1 Successes

  • 1 Failures

Readiness

Parameter
Value

Mode

HTTP (GET)

Arguments

  • Path: /mts-rs-rckms/

  • Port: 8080 (must match container port)

Timings

  • Initial Delay of 45s

  • Period of 30s

  • Timeout of 5s

Thresholds

  • 1 Successes

  • 1 Failures

Startup

circle-info

This container does not utilize startup probes.

Resources

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

2000

5120

N/A

Technology Stack

Container is built upon a Payara Server (derived from GlassFish Server), Debian base image, which includes OpenJDK 8 (Java Version 8u151).

As this base image is no longer actively supported, HLN has modified the encompassing Dockerfile to perform a variety of package updates from Debian 11 "Bullseye" repositories, as well as removing unused and outdated binaries.

Volume Mounts

Name
Read-Only
Mount Point
Subpath

java-diag

/hln/diagnostics

Workload Identity

MTS requires connectivity to a writable Postgres database instance.

Code Owners

Name
Organization
Email

Blake Minghelli

HLN Consulting, LLC

Last updated