Deploy real-time reporting (RTR) Java services
The Java reporting services are being consolidated in an upcoming release. The service validation URLs reflect the NBS 7.12 configuration.
This page covers deploying the RTR Java services that process streamed events from Kafka and load domain-specific reporting data.
On this page
These steps require a Unix-compatible shell. On Windows, use Git Bash, WSL, or an equivalent terminal emulator.
Installing RTR Java services
Follow these steps to configure and deploy the RTR Java services Helm chart.
Verify that you are connected to the correct Kubernetes cluster before proceeding. To confirm, run
kubectl config current-context.
-
Locate the Helm chart for all RTR Java services in the NEDSS-Helm repository.
-
Validate the Kubernetes secret for database credentials:
kubectl get secret/database-access -o yamlVerify that the secret contains the correct database username and password, Kafka cluster, and other required configuration values. If the secret does not exist, create it by applying the provided YAML file. Replace all placeholder values before running:
Script location: NEDSS-Helm/nbs-secrets.yaml
kubectl apply -f k8-manifests/nbs-secrets.yaml -
Validate the image repository:
global.image.repository: "quay.io/us-cdcgov/cdc-nbs-modernization/data-reporting-service" -
Update feature flags for each service. Verify that
PHCMartETL.batis turned off before enabling updates to the PublicHealthCaseFact datamart via RTR:featureFlag: investigation-reporting: phcDatamartEnable: '''true''' -
Install the Helm chart for all RTR Java services:
helm install rtr . -f values.yaml -
Verify the pods are running:
kubectl get podsExpected output:
NAME READY STATUS RESTARTS AGE rtr-java-services-investigation-reporting-<hash> 1/1 Running 0 2m6s rtr-java-services-ldfdata-reporting-<hash> 1/1 Running 0 2m6s rtr-java-services-observation-reporting-<hash> 1/1 Running 0 2m6s rtr-java-services-organization-reporting-<hash> 1/1 Running 0 2m6s rtr-java-services-person-reporting-<hash> 1/1 Running 0 2m6s rtr-java-services-post-processing-reporting-<hash> 1/1 Running 0 2m6s -
Validate the services. Replace
<exampledomain>with your actual domain (see Deploy Traefik ingress controller):investigation-svc
https://data.<exampledomain>/reporting/investigation-svc/status Expected: Investigation Service Status OKperson-svc
https://data.<exampledomain>/reporting/person-svc/status Expected: Person Service Status OKobservation-svc
https://data.<exampledomain>/reporting/observation-svc/status Expected: Observation Service Status OKorganization-svc
https://data.<exampledomain>/reporting/organization-svc/status Expected: Organization Service Status OKldfdata-svc
https://data.<exampledomain>/reporting/ldfdata-svc/status Expected: LDFData Service Status OKpost-processing-svc
https://data.<exampledomain>/reporting/post-processing-svc/status Expected: Post Processing Service Status OK