Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/run-unit-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
- "investigation-service/**"
- "ldfdata-service/**"
- "person-service/**"
- "reporting-pipeline-service/**"
- "post-processing-service/**"
- "observation-service/**"
- "organization-service/**"
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,3 @@ hs_err_pid*
# Ignore Gradle build output directory
build
application-local.yaml
NEDSSDev/
8 changes: 4 additions & 4 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -234,12 +234,12 @@ services:
liquibase:
condition: service_completed_successfully

reporting-hydration-service:
reporting-pipeline-service:
build:
dockerfile: ./reporting-hydration-service/Dockerfile
dockerfile: ./reporting-pipeline-service/Dockerfile
environment:
- DB_USERNAME=reporting_hydration_service_rdb
- DB_PASSWORD=reporting_hydration_service
- DB_USERNAME=reporting_pipeline_service_rdb
- DB_PASSWORD=reporting_pipeline_service
- DB_HOST=jdbc:sqlserver://nbs-mssql:1433;databaseName=RDB_MODERN;encrypt=true;trustServerCertificate=true;
- KAFKA_BOOTSTRAP_SERVER=kafka:29092
depends_on:
Expand Down
2 changes: 1 addition & 1 deletion documentation/DevSetup.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
1. [organization-service](../organization-service/Dockerfile) - Processes Kafka message for Organization data
1. [person-service](../person-service/Dockerfile) - Processes Kafka message for Person data
1. [post-processing-service](../post-processing-service/Dockerfile) - Handles mapping key-uid mappings
1. [reporting-hydration-service](../reporting-hydration-service/Dockerfile) - **FUTURE** service for consolidating all the DataReporting microserices
1. [reporting-pipeline-service](../reporting-pipeline-service/Dockerfile) - **FUTURE** service for consolidating all the DataReporting microserices

### Prerequisites:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
-- ==========================================
-- USER: reporting_hydration_service_rdb
-- SERVICE: reporting-hydration-service
-- USER: reporting_pipeline_service_rdb
-- SERVICE: reporting-pipeline-service
-- ==========================================
USE [master];

DECLARE @UserName NVARCHAR(150) = 'reporting_hydration_service_rdb';
DECLARE @UserPassword NVARCHAR(128) = N'reporting_hydration_service'; --Please provide your generated password.
DECLARE @UserName NVARCHAR(150) = 'reporting_pipeline_service_rdb';
DECLARE @UserPassword NVARCHAR(128) = N'reporting_pipeline_service'; --Please provide your generated password.

-- Check if login already exists before creating
IF NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = @UserName)
Expand Down Expand Up @@ -103,4 +103,4 @@ IF EXISTS (SELECT * FROM sys.database_principals WHERE name = @UserName)
PRINT 'Granted EXECUTE permission to [' + @UserName + ']';
END

PRINT 'Reporting hydration service permission grants completed.';
PRINT 'Reporting pipeline service permission grants completed.';
25 changes: 0 additions & 25 deletions reporting-hydration-service/Dockerfile

This file was deleted.

1 change: 0 additions & 1 deletion reporting-hydration-service/settings.gradle

This file was deleted.

31 changes: 31 additions & 0 deletions reporting-pipeline-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
FROM amazoncorretto:21 as builder

RUN yum update -y && yum clean all

#Copy project config
COPY gradle /usr/src/gradle
COPY gradlew /usr/src/gradlew
COPY settings.gradle /usr/src/settings.gradle

#Copy sources
COPY common-util /usr/src/common-util
COPY reporting-pipeline-service /usr/src/reporting-pipeline-service

#cd to root directory
WORKDIR /usr/src/

#Build service along with any required libraries
RUN ./gradlew :reporting-pipeline-service:buildNeeded -x test --no-daemon

FROM amazoncorretto:21
RUN yum update -y && yum install -y curl && yum clean all
COPY --from=builder /usr/src/reporting-pipeline-service/build/libs/reporting-pipeline-service*.jar reporting-pipeline-service.jar

EXPOSE 8095

HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
CMD curl -f http://localhost:8095/actuator/health || exit 1

# Run jar
ENTRYPOINT ["java", "-jar", "reporting-pipeline-service.jar"]
CMD ["java", "-jar", "reporting-pipeline-service.jar"]
1 change: 1 addition & 0 deletions reporting-pipeline-service/settings.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rootProject.name = 'reporting-pipeline-service'
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
package gov.cdc.etldatapipeline.reportinghydration;
package gov.cdc.etldatapipeline.pipeline;
Copy link
Copy Markdown

@timoballard timoballard Mar 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit, nb): should this be package gov.cdc.etldatapipeline.reportingpipeline for consistency?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah it's a good thought, in general I wonder if the whole package name could use an update. Maybe gov.cdc.nbs.datareporting.reportingpipeline is a better package name?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah I think that's better

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

based on the Slack thread I saw was this supposed to be reporting.pipeline?


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
* Main entry point for the Reporting Hydration Service. This service is intended to consolidate
* Main entry point for the Reporting Pipeline Service. This service is intended to consolidate
* various reporting microservices into a single application to simplify the ETL data pipeline.
*/
@SpringBootApplication
public class ReportingHydrationServiceApplication {
public class ReportingPipelineServiceApplication {

/**
* Starts the Reporting Hydration Service application.
* Starts the Reporting Pipeline Service application.
*
* @param args command-line arguments
*/
public static void main(String[] args) {
SpringApplication.run(ReportingHydrationServiceApplication.class, args);
SpringApplication.run(ReportingPipelineServiceApplication.class, args);
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
spring:
application:
name: reporting-hydration-service
name: reporting-pipeline-service
kafka:
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER}
datasource:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package gov.cdc.etldatapipeline.reportinghydration;
package gov.cdc.etldatapipeline.pipeline;

import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
Expand All @@ -15,7 +15,7 @@
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;

@SpringBootTest
class ReportingHydrationServiceApplicationTests {
class ReportingPipelineServiceApplicationTests {

@Autowired private ApplicationContext context;

Expand All @@ -25,13 +25,12 @@ void testMain() {
mocked
.when(
() ->
SpringApplication.run(
ReportingHydrationServiceApplication.class, new String[] {}))
SpringApplication.run(ReportingPipelineServiceApplication.class, new String[] {}))
.thenReturn(null);

ReportingHydrationServiceApplication.main(new String[] {});
ReportingPipelineServiceApplication.main(new String[] {});
mocked.verify(
() -> SpringApplication.run(ReportingHydrationServiceApplication.class, new String[] {}),
() -> SpringApplication.run(ReportingPipelineServiceApplication.class, new String[] {}),
Mockito.times(1));
}
}
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ include 'ldfdata-service'

include 'liquibase-service'

include 'reporting-hydration-service'
include 'reporting-pipeline-service'