Skip to content

Commit

Permalink
Initial commit for microservices
Browse files Browse the repository at this point in the history
  • Loading branch information
rshanmugam-enquizit committed Jul 9, 2024
1 parent 91949de commit f033154
Show file tree
Hide file tree
Showing 296 changed files with 21,617 additions and 13 deletions.
13 changes: 0 additions & 13 deletions .gitattributes

This file was deleted.

110 changes: 110 additions & 0 deletions .github/workflows/Build-and-deploy-reporting-services.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: Build and push data-reporting-service image to ECR
on:
push:
branches:
- main
- master
- rel-**
# Uncomment the following line only to test the build deploy from private branches.
- CNDIT-*
paths-ignore:
- "docker-compose.yml"
- "**.md"
jobs:

# person-reporting-microservice
call-build-person-reporting-microservice-container-workflow:
name: Build Person Reporting Service Container
uses: CDCgov/NEDSS-Workflows/.github/workflows/Build-gradle-microservice-container.yaml@main
with:
microservice_name: person-reporting-service
dockerfile_relative_path: -f ./person-service/Dockerfile .
environment_classifier: SNAPSHOT
java_version: "17"
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}

# organization-reporting-microservice
call-build-organization-reporting-microservice-container-workflow:
name: Build Organization Reporting Service Container
uses: CDCgov/NEDSS-Workflows/.github/workflows/Build-gradle-microservice-container.yaml@main
with:
microservice_name: organization-reporting-service
dockerfile_relative_path: -f ./organization-service/Dockerfile .
environment_classifier: SNAPSHOT
java_version: "17"
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}

# investigation-reporting-microservice
call-build-investigation-reporting-microservice-container-workflow:
name: Build Investigation Reporting Service Container
uses: CDCgov/NEDSS-Workflows/.github/workflows/Build-gradle-microservice-container.yaml@main
with:
microservice_name: investigation-reporting-service
dockerfile_relative_path: -f ./investigation-service/Dockerfile .
environment_classifier: SNAPSHOT
java_version: "17"
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}

# post-processing-reporting-microservice
call-build-post-processing-reporting-microservice-container-workflow:
name: Build post-processing Reporting Service Container
uses: CDCgov/NEDSS-Workflows/.github/workflows/Build-gradle-microservice-container.yaml@main
with:
microservice_name: post-processing-reporting-service
dockerfile_relative_path: -f ./post-processing-service/Dockerfile .
environment_classifier: SNAPSHOT
java_version: "17"
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}

# observation-reporting-microservice
call-build-observation-reporting-microservice-container-workflow:
name: Build Observation Reporting Service Container
uses: CDCgov/NEDSS-Workflows/.github/workflows/Build-gradle-microservice-container.yaml@main
with:
microservice_name: observation-reporting-service
dockerfile_relative_path: -f ./observation-service/Dockerfile .
environment_classifier: SNAPSHOT
java_version: "17"
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}

# LdfData-reporting-microservice
call-build-ldfdata-reporting-microservice-container-workflow:
name: Build LdfData Reporting Service Container
uses: CDCgov/NEDSS-Workflows/.github/workflows/Build-gradle-microservice-container.yaml@main
with:
microservice_name: ldfdata-reporting-service
dockerfile_relative_path: -f ./ldfdata-service/Dockerfile .
environment_classifier: SNAPSHOT
java_version: "17"
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}

69 changes: 69 additions & 0 deletions .github/workflows/sonar.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: SonarCloud Scanner
on:
workflow_call:
secrets:
PASSED_GITHUB_TOKEN:
description: "Secret named GITHUB_TOKEN that references the github token for this repository."
required: true
SONAR_TOKEN:
description: "Secret named SONAR_TOKEN that references the sonar token secret corresponding to the project in sonarcloud."
required: true
pull_request:
paths:
- "investigation-service/**"
- "ldfdata-service/**"
- "person-service/**"
- "post-processing-service/**"
- "observation-service/**"
- "organization-service/**"
- ".github/workflows/sonar.yaml"
- "build.gradle"
- "settings.gradle"
- "gradle/**"

jobs:
pipeline:
name: Build and analyze
runs-on: ubuntu-latest

permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu' # Alternative distribution options are available

- name: Cache SonarCloud packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar

- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle

- name: Build and analyze
working-directory: ./
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
./gradlew clean build jacocoTestReport sonar
- name: Publish Testing Reports
uses: actions/upload-artifact@v4
with:
name: testing
path: ./**/build/reports
44 changes: 44 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

.DS_Store
.gradle/

### .idea ###
.idea/
.idea/.name
.idea/*.xml
.idea/modules/*
.idea/libraries/*

### .vscode ###
.vscode/

### env ###
*.env

# Ignore Gradle project-specific cache directory
.gradle

# Ignore Gradle build output directory
build
52 changes: 52 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath("com.dipien:semantic-version-gradle-plugin:2.0.0")
}
}

plugins {
id 'org.sonarqube' version '4.2.1.3168'
}

version = '1.0.1-SNAPSHOT'
apply plugin: "com.dipien.semantic-version"

subprojects {

repositories {
mavenCentral()
maven {
url "https://packages.confluent.io/maven"
}
}

apply plugin: 'java'
apply plugin: 'jacoco'

jacocoTestReport {
dependsOn test
reports {
xml.required = true
}
}

tasks.named('test') {
finalizedBy tasks.named('jacocoTestReport', JacocoReport)
}
}

sonarqube {
properties {
property "sonar.sourceEncoding", "UTF-8"
property "sonar.projectKey", "CDCgov_NEDSS-DataAccess"
property "sonar.organization", "cdcgov"
property "sonar.host.url", "https://sonarcloud.io"
}
}
37 changes: 37 additions & 0 deletions common-util/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/
43 changes: 43 additions & 0 deletions common-util/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.4' //apply false
id 'io.spring.dependency-management' version '1.1.4'
}

group = 'gov.cdc.etldatapipeline'
version = '0.0.1-SNAPSHOT'

java {
sourceCompatibility = '17'
}

repositories {
mavenCentral()
}

//dependencyManagement {
// imports {
// mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
// }
//}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
implementation 'commons-io:commons-io:2.15.0'
implementation 'org.springframework.kafka:spring-kafka:3.1.2'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.0'
implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
implementation 'com.google.guava:guava:33.1.0-jre'

testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

//tasks.withType(JavaCompile).configureEach {
// options.compilerArgs.add("-parameters")
//}

tasks.named('test') {
useJUnitPlatform()
}
Binary file added common-util/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions common-util/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit f033154

Please sign in to comment.