Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
c355143
Updated Pom versions for release changes (#1910)
ckm007 Aug 12, 2024
d3089f3
[MOSIP-35160] Updated URL from https://github.com/mosip/mosip-infra/b…
Prafulrakhade Sep 9, 2024
d1c2158
Merge pull request #1917 from Prafulrakhade/release-1.3.x
ckm007 Sep 10, 2024
54c790e
[ MOSIP-35499 ] removed keyGenretor Bean (#1919)
Khuddusshariff0022 Sep 14, 2024
4a3a668
[DSD-6341]added upgrade and rollback sql query
Prafulrakhade Sep 30, 2024
591ab45
Merge pull request #1922 from Prafulrakhade/release-1.3.x
ckm007 Sep 30, 2024
9e8eec3
MOSIP-32461 Changing commons versions for 1.3.x branch
Khuddusshariff0022 Oct 7, 2024
b81c53b
MOSIP-32461, MOSIP-36412 Changing commons versions for 1.3.x branch
Khuddusshariff0022 Oct 9, 2024
96537fd
MOSIP-32461, MOSIP-36412 Changing commons versions for 1.3.x branch
Khuddusshariff0022 Oct 15, 2024
136970b
Merge pull request #1923 from Khuddusshariff0022/release-1.3.x-common…
ckm007 Oct 17, 2024
c5350bd
MOSIP-32461, MOSIP-36412 Changing versions to 1.3.0-beta.1 for 1.3.x …
Khuddusshariff0022 Oct 19, 2024
244e9f7
Merge branch 'release-1.3.x' of https://github.com/mosip/registration…
Khuddusshariff0022 Oct 19, 2024
1eb17af
MOSIP-32461, MOSIP-36412 Changing versions to 1.3.0-beta.1 for 1.3.x …
Khuddusshariff0022 Oct 21, 2024
1b683c5
MOSIP-32461, MOSIP-36412 Changing versions to 1.3.0-beta.1 for 1.3.x …
Khuddusshariff0022 Oct 21, 2024
77704f6
Merge pull request #1927 from Khuddusshariff0022/release-1.3.x-common…
ckm007 Oct 22, 2024
6a8cc68
[MOSIP-37256 ] adding readme
Khuddusshariff0022 Nov 11, 2024
dd5cd2e
Update Dockerfile
GOKULRAJ136 Nov 12, 2024
e7b25ac
Update Dockerfile
GOKULRAJ136 Nov 12, 2024
4e58137
Update Dockerfile
GOKULRAJ136 Nov 12, 2024
683b1f0
Merge pull request #1934 from GOKULRAJ136/patch-1
ckm007 Nov 13, 2024
7954826
Merge pull request #1933 from Khuddusshariff0022/release-1.3.x_ReadMe
ckm007 Nov 13, 2024
3adb100
Updated chart versions, image and tag for release changes
Prafulrakhade Dec 4, 2024
444383b
[MOSIP-37256 ] adding readme
Khuddusshariff0022 Dec 5, 2024
6bee104
Merge pull request #1938 from mosip/releas-branch
ckm007 Dec 5, 2024
2635a38
Merge pull request #1940 from Khuddusshariff0022/release-1.3.x_ReadMe
ckm007 Dec 5, 2024
b2a53be
[ MOSIP-38245 ] Release branch docker regex changes (#1944)
Khuddusshariff0022 Dec 13, 2024
010a94e
[DSD-6825] platform 1.2.1.0-beta-1 release (#1941)
ckm007 Dec 13, 2024
8ff41fe
Updated chart versions, image and tag for release changes (#1946)
ckm007 Dec 13, 2024
a918d63
Updated Pom version and Chart version for post-release changes (#1947)
ckm007 Dec 16, 2024
0be7f57
MOSIP-35873, MOSIP-23699 : Added webclient for auth request (#1996) (…
dhanendra06 Feb 13, 2025
d8676dc
Mosip-39697 Added ZCG for performance improvement (#2010)
kameshsr Feb 24, 2025
b22ae21
MOSIP-39985 (#2018)
GOKULRAJ136 Mar 12, 2025
87f2a72
MOSIP-37259 - Remove hardcoded spring boot version from registration…
kaledOu Mar 12, 2025
e3df7c9
MOSIP-39680 update InternalAuthDelegateServiceImplTest (#2026)
kaledOu Mar 12, 2025
9f0d835
MOSIP-40686 Changed version to snapshot (#2027)
kameshsr Mar 17, 2025
7d6041d
MOSIP-37901: exclude mosip services to publish nexus (#2069)
nagendra0721 Apr 25, 2025
d294bef
MOSIP-37901: exclude mosip services being published to nexus (#2070)
nagendra0721 Apr 28, 2025
6eef2cb
MOSIP-37901: revert rc and pom version change (#2072)
nagendra0721 Apr 29, 2025
8b2a6e7
[MOSIP-41557] Removed regproc-opencrvs helm chart because we are not …
Prafulrakhade May 23, 2025
9cd1c73
Merge pull request #2085 from Prafulrakhade/release-1.3.x
ckm007 May 29, 2025
ec67d1e
Merge pull request #2095 from ashok-ksharma/MOSIP-41486_release-1.2.1…
kameshsr Jun 19, 2025
3049c8e
[MOSIP-41872] [MOSIP-41321] [MOSIP-41320] [MOSIP-41330] [MOSIP-41329]…
kameshsr Jun 26, 2025
3f8ea73
[MOSIP-36457]Reprocessor is unable to process the failed packets in c…
tarique-azeez Jul 15, 2025
64f2e37
Done changes (#2150)
chetankh239 Jul 22, 2025
b7456bc
[MOSIP-42364] - Cherry-Pick done for :> [MOSIP-41319] - Kafka Rebalan…
chetankh239 Jul 22, 2025
3f971ea
[MOSIP-41319] Added code to enable/disable caffeine cache stage wise.…
chetankh239 Aug 4, 2025
9248571
[MOSIP-42464] [MOSIP-41674] central sonatype migration changes (#2160)
Prafulrakhade Aug 4, 2025
1541d5c
Updated bio-util version (#2163)
dhanendra06 Aug 7, 2025
1c45660
MOSIP-41316: Updated pom.xml (#2164)
dhanendra06 Aug 7, 2025
eb83f4e
[MOSIP-43014] moved salt-genrator helm chart version into commons rep…
Prafulrakhade Sep 15, 2025
9f0bb0d
[MOSIP-43014] moved salt-genrator helm chart version into commons rep…
Prafulrakhade Sep 15, 2025
2ac64a3
Merge pull request #2190 from Prafulrakhade/release-1.3.x-MOSIP-43014…
ckm007 Sep 15, 2025
14bc868
MOSIP-39884 update sending email (#2075)
kaledOu Sep 18, 2025
d4e3b8b
Updated pom for spring-boot-maven-plugin version (#2205)
dhanendra06 Nov 11, 2025
3d2aca1
Performance testing Release 1.3.x (#2199)
deeGuru Nov 11, 2025
82704bb
[MOSIP-43625] DateUtils2 and springboot plugin changes (#2202)
nandhu-kumar Nov 13, 2025
5758b93
Added indexes for performance optimization [MOSIP-43638] (#2210)
GOKULRAJ136 Nov 14, 2025
6e0f8f4
[MOSIP-42988] : Cherry-pick 1.2.1.0 release changes into release-1.3.…
chetankh239 Nov 14, 2025
dd4e82d
[MOSIP-42988] :cherry-pick CRVS changes from 1.2.1.1 tag (#2214)
chetankh239 Nov 14, 2025
f227f8f
cherry-pick the helm changes to release-1.3.x
ckm007 Nov 16, 2025
0362ba7
Updated tag
dhanendra06 Nov 16, 2025
e821a83
Merge pull request #2217 from dhanendra06/MOSIP-024
ckm007 Nov 16, 2025
efdff8b
updated tag version
dhanendra06 Nov 16, 2025
5fece59
Merge pull request #2219 from dhanendra06/MOSIP-028
ckm007 Nov 16, 2025
2ffba63
MOSIP-43711 added missing upgrade script (#2222)
kameshsr Nov 20, 2025
aa98e0e
[MOSIP-43786]: Changed version to 1.3.0-SNAPSHOT (#2225)
chetankh239 Nov 22, 2025
b95eec1
Post QA update, document changes, added results, decoupled context fi…
deeGuru Nov 24, 2025
3a6a767
MOSIP-43625 | reverted decryptortest java file with previous version …
nandhu-kumar Nov 25, 2025
630c9fb
[MOSIP-43716] parameteraization fix and description added (#2230)
deeGuru Nov 26, 2025
81eec91
MOSIP-43834 - updated index scripts (#2231)
nandhu-kumar Nov 26, 2025
496e5e9
MOSIP-43834 - addded indexes for db scripts (#2233)
nandhu-kumar Nov 27, 2025
0242956
fix helm memory cpu
kaledOu Nov 28, 2025
95e7ca4
remove space
kaledOu Nov 28, 2025
43f0a8b
remove extrat line
kaledOu Nov 28, 2025
18d1b40
Merge pull request #2239 from kaledOu/release-1.3.x-helm
ckm007 Nov 29, 2025
57acc1d
Create NOTICES.txt
rajapandi1234 Dec 2, 2025
c2bc5cd
MOSIP-3917 | updated missed index scripts (#2250)
nandhu-kumar Dec 8, 2025
24cf866
Rename NOTICES.txt to NOTICE
rajapandi1234 Dec 9, 2025
5022809
[MOSIP-43967] Change the deprecated end point for key manager signing…
tarique-azeez Dec 9, 2025
8b158e4
MOSIP-43894 Update memory and JAVA_OPTS in values.yaml (#2255)
kameshsr Dec 12, 2025
a507059
[MOSIP-43903] - Increased Junit code coverage for Registration Proces…
NidhiKumari0201 Dec 12, 2025
9b549c6
[MOSIP-43903] - import corrected
NidhiKumari0201 Dec 12, 2025
abfca58
Merge pull request #2258 from NidhiKumari0201/MOSIP-43903-sonar-relea…
ckm007 Dec 13, 2025
4c32131
[MOSIP-44047] Updated README.md for registration processor. (#2257)
ashok-ksharma Dec 15, 2025
5df383b
Updated startup probe configuration (#2261)
dhanendra06 Dec 16, 2025
afc7506
Updated startup probe configuration
dhanendra06 Dec 16, 2025
60d2bb3
Merge pull request #2262 from dhanendra06/MOSIP-042
ckm007 Dec 16, 2025
5720e6d
API responses were updated to remove whitespace (#2260)
deeGuru Dec 17, 2025
43c700d
Updated startup probe configuration
dhanendra06 Dec 17, 2025
76c1fad
Updated startup probe configuration
dhanendra06 Dec 17, 2025
95059fc
Updated startup probe configuration
dhanendra06 Dec 17, 2025
6e46572
Merge pull request #2264 from dhanendra06/MOSIP-46
ckm007 Dec 17, 2025
2e4ef56
[DSD-9504]Increased memory limit in values.yaml (#2265)
bhumi46 Dec 17, 2025
2d53fe6
Merge pull request #2247 from rajapandi1234/patch-11
Mahesh-Binayak Dec 20, 2025
5de9166
[DSD-9524] Release Platform 1.2.1.0 GA (#2266)
ckm007 Dec 22, 2025
7359e3d
Updated Pom versions for release changes (#2267)
ckm007 Dec 22, 2025
8918064
[MOSIP-43633] - cherry pick able to update biometrics of an UIN, with…
NidhiKumari0201 Jan 8, 2026
3a3ab16
[MOSIP-43633] [MOSIP-35360]: snapshot and DB script changes for Updat…
NidhiKumari0201 Jan 9, 2026
6d1b036
[MOSIP-44208] Added the readme file for the Update UIN with unregiste…
ashok-ksharma Jan 20, 2026
7a0b0ab
Perform optimization for JVM arguments Reg-Proc Repo [MOSIP-44752]
GOKULRAJ136 Mar 27, 2026
21f08c6
Corrected JVM arguement
GOKULRAJ136 Mar 27, 2026
9580743
trailing-spaces changes
GOKULRAJ136 Mar 27, 2026
d413dab
trailing-spaces changes
GOKULRAJ136 Mar 27, 2026
2935378
space changes
GOKULRAJ136 Mar 27, 2026
ed4f2b3
Corrected versions in helm
GOKULRAJ136 Mar 27, 2026
9da283f
Corrected helm values
GOKULRAJ136 Mar 27, 2026
e2103aa
Corrected Values helm and docker
GOKULRAJ136 Apr 1, 2026
d8ebbc3
Space changes
GOKULRAJ136 Apr 1, 2026
a2d7a8c
Update Dockerfile
GOKULRAJ136 Apr 1, 2026
af658ab
Updated commons depdencies versions
GOKULRAJ136 Apr 2, 2026
5b2c959
Updated docker files
GOKULRAJ136 Apr 6, 2026
5b28e57
MOSIP-44198 (#2298)
dhanendra06 Apr 6, 2026
3684b93
Merge branch 'release-1.3.x' into OPT-13X
GOKULRAJ136 Apr 6, 2026
3860ab7
Updated values yaml
GOKULRAJ136 Apr 7, 2026
71908b4
cellbox changes
GOKULRAJ136 Apr 7, 2026
6f5cb9a
Corrected Xms value
GOKULRAJ136 Apr 7, 2026
d80d844
Update pom.xml
GOKULRAJ136 Apr 7, 2026
af7d13a
Merge pull request #2297 from GOKULRAJ136/OPT-13X
ckm007 Apr 7, 2026
0235516
MOSIP-44844 (#2302)
dhanendra06 Apr 8, 2026
147cf56
[MOSIP-44752]Increased meatspace, and max meatspace heap memories
bhumi46 Apr 9, 2026
1859d4d
Update values.yaml
bhumi46 Apr 9, 2026
7065157
Update values.yaml
bhumi46 Apr 9, 2026
8886637
Corrected Docker File for Regproc-notifier [MOSIP-44752] (#2306)
GOKULRAJ136 Apr 9, 2026
32bb9bf
[MOSIP-44752] fix test case failures (#2309)
GOKULRAJ136 Apr 9, 2026
2b3e591
Update values.yaml
bhumi46 Apr 9, 2026
38ffbcc
Update values.yaml
bhumi46 Apr 10, 2026
69e605a
Update helm/regproc-notifier/values.yaml
bhumi46 Apr 10, 2026
add1a6a
Update values.yaml
bhumi46 Apr 10, 2026
a91c93a
Update JAVA_OPTS in values.yaml for memory settings
bhumi46 Apr 10, 2026
6196d5f
Merge pull request #2308 from bhumi46/patch-2
ckm007 Apr 10, 2026
f86a411
MOSIP-44206 Added index (#2310)
kameshsr Apr 10, 2026
95e0095
[MOSIP-44198] Corrected the database upgrade/rollback scripts and pom…
ashok-ksharma Apr 15, 2026
242c8fb
Updated values.yaml
bhumi46 May 5, 2026
dc8b7af
Merge pull request #2341 from bhumi46/patch-3
ckm007 May 6, 2026
fc6c03b
[MOSIP-44855]Updated values.yaml
bhumi46 May 11, 2026
4e956c6
Merge pull request #2342 from bhumi46/patch-4
ckm007 May 11, 2026
815931e
Github issue -2345 corrected regproc camel resource
kameshsr May 13, 2026
0ab8e36
Github issue -2345 corrected regproc resource
kameshsr May 13, 2026
4900315
Github issue -2345 corrected regproc landing zone resource
kameshsr May 13, 2026
ccb3032
Github issue -2345 corrected regproc notifier resource
kameshsr May 13, 2026
e259808
Github issue -2345 corrected regproc resource
kameshsr May 13, 2026
b3ac3fa
Merge pull request #2346 from kameshsr/release-1.3.x-release
ckm007 May 13, 2026
5490233
Github issue 2349 corrected packet manager version (#2350)
kameshsr May 15, 2026
9c519fb
Removed the race condition fix for abisMiddleWareStage (#2348)
dhanendra06 May 18, 2026
6fcf695
#2352 Change khazana version to 1.3.2-SNAPSHOT (#2353)
kameshsr May 19, 2026
3073a9b
MOSIP-44198: Updated the resource for helm (#2355)
dhanendra06 May 21, 2026
cb7154e
[DSD-10347] 1.3.1 Packet Processing Performance Tuning release (#2371)
ckm007 May 31, 2026
2005d1e
[DSD-10347] 1.3.1 Packet Processing Performance Tuning release (#2372)
Prafulrakhade May 31, 2026
bf3490e
Merge branch 'branch-1.3.1-tag' into develop
ashok-ksharma Jun 3, 2026
d82ca6b
Resolves #1830 Merged the 1.3.1-rc.1 release in develop branch.
ashok-ksharma Jun 3, 2026
bb3d006
Resolves #1830 Merged the 1.3.1-rc.1 release in develop branch.
ashok-ksharma Jun 3, 2026
f936398
Resolves #1830 Merged the 1.3.1-rc.1 release in develop branch.
ashok-ksharma Jun 3, 2026
36d7ac5
Resolves #1830 Merged the 1.3.1-rc.1 release in develop branch.
ashok-ksharma Jun 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 2 additions & 17 deletions .github/workflows/push-trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ on:
- master
- 1.*
- develop*
- MOSIP*
- MOSIP-*

jobs:
build-maven-registration:
Expand Down Expand Up @@ -57,65 +57,50 @@ jobs:
- SERVICE_LOCATION: 'registration-processor/post-processor/registration-processor-registration-transaction-service'
SERVICE_NAME: 'registration-processor-registration-transaction-service'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '11'
- SERVICE_LOCATION: 'registration-processor/stage-groups/registration-processor-stage-group-1'
SERVICE_NAME: 'registration-processor-stage-group-1'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '13'
- SERVICE_LOCATION: 'registration-processor/stage-groups/registration-processor-stage-group-2'
SERVICE_NAME: 'registration-processor-stage-group-2'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '7'
- SERVICE_LOCATION: 'registration-processor/stage-groups/registration-processor-stage-group-3'
SERVICE_NAME: 'registration-processor-stage-group-3'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '10'
- SERVICE_LOCATION: 'registration-processor/stage-groups/registration-processor-stage-group-4'
SERVICE_NAME: 'registration-processor-stage-group-4'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '7'
- SERVICE_LOCATION: 'registration-processor/stage-groups/registration-processor-stage-group-5'
SERVICE_NAME: 'registration-processor-stage-group-5'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '7'
- SERVICE_LOCATION: 'registration-processor/stage-groups/registration-processor-stage-group-6'
SERVICE_NAME: 'registration-processor-stage-group-6'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '13'
- SERVICE_LOCATION: 'registration-processor/stage-groups/registration-processor-stage-group-7'
SERVICE_NAME: 'registration-processor-stage-group-7'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '9'
- SERVICE_LOCATION: 'registration-processor/core-processor/registration-processor-abis'
SERVICE_NAME: 'registration-processor-abis'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '10'
- SERVICE_LOCATION: 'registration-processor/workflow-engine/registration-processor-reprocessor'
SERVICE_NAME: 'registration-processor-reprocessor'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '10'
- SERVICE_LOCATION: 'registration-processor/init/registration-processor-dmz-packet-server'
SERVICE_NAME: 'registration-processor-dmz-packet-server'
- SERVICE_LOCATION: 'registration-processor/init/registration-processor-registration-status-service'
SERVICE_NAME: 'registration-processor-registration-status-service'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '12'
- SERVICE_LOCATION: 'registration-processor/registration-processor-notification-service'
SERVICE_NAME: 'registration-processor-notification-service'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '10'
- SERVICE_LOCATION: 'registration-processor/registration-processor-landing-zone'
SERVICE_NAME: 'registration-processor-landing-zone'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '10'
- SERVICE_LOCATION: 'registration-processor/workflow-engine/registration-processor-workflow-manager-service'
SERVICE_NAME: 'registration-processor-workflow-manager-service'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '10'
- SERVICE_LOCATION: 'registration-processor/registration-processor-common-camel-bridge'
SERVICE_NAME: 'registration-processor-common-camel-bridge'
BUILD_ARTIFACT: 'registration'
SQUASH_LAYERS: '10'

fail-fast: false
name: ${{ matrix.SERVICE_NAME }}
Expand All @@ -124,13 +109,13 @@ jobs:
SERVICE_LOCATION: ${{ matrix.SERVICE_LOCATION }}
SERVICE_NAME: ${{ matrix.SERVICE_NAME }}
BUILD_ARTIFACT: ${{ matrix.BUILD_ARTIFACT || false }}
SQUASH_LAYERS: ${{ matrix.SQUASH_LAYERS }}
secrets:
DEV_NAMESPACE_DOCKER_HUB: ${{ secrets.DEV_NAMESPACE_DOCKER_HUB }}
ACTOR_DOCKER_HUB: ${{ secrets.ACTOR_DOCKER_HUB }}
RELEASE_DOCKER_HUB: ${{ secrets.RELEASE_DOCKER_HUB }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}


sonar_analysis:
needs: build-maven-registration
if: "${{ github.event_name != 'pull_request' }}"
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,3 @@ test.txt
/.recommenders/
**/*.iml
.vscode
Chart.lock
162 changes: 162 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# AGENTS.md

This file provides guidance to AI agents when working with code in this repository.

## Project Overview

This is the **MOSIP Registration Processor** — the server-side module that manages the ID lifecycle for MOSIP (Modular Open Source Identity Platform). It receives registration packets from the Registration Client (a separate repository), validates them, performs deduplication, and ultimately issues or updates a Unique Identification Number (UIN).

The processor follows a **SEDA (Staged Event-Driven Architecture)** where packets flow asynchronously through multiple stages, each running as a Vert.x verticle, connected via Kafka topics.

## Build Commands

All commands run from the `registration-processor/` directory (the Maven parent):

```bash
# Full build (skip Javadoc and GPG signing for local dev)
mvn clean install -Dmaven.javadoc.skip=true -Dgpg.skip=true

# Run all tests
mvn test

# Run a single test class
mvn test -Dtest=ClassName

# Run a single test method
mvn test -Dtest=ClassName#methodName

# Build a specific module only (run from registration-processor/)
mvn clean install -pl <module-path> -am -Dmaven.javadoc.skip=true -Dgpg.skip=true

# Or target a module from the repo root
mvn test -pl registration-processor/<module-path>
mvn test -pl registration-processor/<module-path> -Dtest=MyTestClass

# Generate code coverage report (output: target/site/jacoco/index.html)
mvn clean verify

# SonarQube static analysis
mvn clean verify -Psonar
```

## Running a Stage Group

Each deployable unit is a **stage group** — a Spring Boot fat JAR that bundles `mosip-stage-executor` with one or more stage dependencies. The entry point for every stage group is `MosipStageExecutorApplication`.

```bash
java \
-Dapplication.base.url=http://localhost:8090 \
-Dspring.profiles.active=mz \
-Dspring.cloud.config.uri=http://localhost:51000/config \
-Dspring.cloud.config.label=master \
-Dstage-group-name=stage-group-1 \
-jar registration-processor-stage-group-1-<version>.jar
```

A running **Spring Cloud Config Server** on port `51000` is required before starting any service. Configuration files (`application-default.properties`, `registration-processor-default.properties`) live in the [mosip-config](https://github.com/mosip/mosip-config) repository and must have correct DB, IAM, and Kafka values for your environment. All runtime properties (DB credentials, IAM URLs, Camel flow XMLs, throttling limits) are fetched from the config server at startup — nothing is bundled in the JAR.

`kernel-auth-adapter.jar` must be on the classpath (or included as a Maven dependency); it intercepts outbound REST calls to add MOSIP authentication headers.

Initialize the database using scripts in `db_scripts/mosip_regprc/` against PostgreSQL before the first run.

## Architecture


### Stage Groups

Stages are bundled into deployment groups (1–7), each running as a single JVM using the `mosip-stage-executor` pattern:

| Group | Key Stages |
|-------|-----------|
| 1 | Packet Receiver |
| 2 | Securezone Notification, Quality Classifier, Message Sender |
| 3 | ABIS Handler, ABIS Middleware, Bio Dedupe, Manual Adjudication |
| 4 | Biometric Authentication, Demo Dedupe |
| 5 | CMD/Operator/Supervisor/Introducer Validators, Packet Validator |
| 6 | Packet Uploader, Packet Classifier, Verification |
| 7 | UIN Generator, Biometric Extraction, Finalization, Credential Requestor |

Supporting services: Registration Status Service, Notification Service, Transaction Service.

### Key Technologies

| Concern | Technology |
|---|---|
| Stage runtime | Vert.x (verticles) |
| Inter-stage event bus | Kafka (default) or Vert.x EventBus |
| Stage routing / orchestration | Apache Camel (XML routes from config server) |
| Distributed cache | Hazelcast |
| Configuration | Spring Cloud Config |
| REST integration | Spring Boot + WebClient |

### Stage Implementation Pattern

Each stage is a Vert.x verticle that extends `MosipRouter` (from `registration-processor-core`). When bundled into a stage group:
- The stage's `@SpringBootApplication` is removed; the class becomes `@Configuration` with `@ComponentScans`.
- `getPropertyPrefix()` is implemented instead of `getPort()` / `getEventbusPort()`.
- `MosipStageExecutorApplication` auto-discovers stage beans via `mosip.regproc.stage-groups.stage-beans-base-packages.default` (base packages: `io.mosip.registration.processor`, `io.mosip.registrationprocessor`).

### Registration Flows

The following packet types are supported (routing differs per type — see Camel XML routes):
- **New**, **Update**, **Correction**, **Child**, **Lost**
- **Activate / Deactivate**, **Reprint**
- **CRVS New**, **CRVS Death**

### External Service Dependencies

Stages make synchronous REST calls to other MOSIP services:
- **Key Manager** — packet encryption/decryption
- **IDA (Identity Auth Service)** — biometric authentication
- **IDRepo** — UIN read/write
- **Datashare** — controlled biometric data sharing with ABIS
- **Packet Manager** — packet read/write abstraction (uses Hazelcast cache)
- **ABIS** — external Automated Biometric Identification System (async via ActiveMQ/Kafka queues)

## Module Map

```
registration-processor/
├── registration-processor-core/ # Shared abstractions: MosipRouter, MessageDTO, EventBus interfaces, constants, exceptions
├── registration-processor-rest-client/ # Spring RestTemplate/WebClient wrappers for MOSIP service calls
├── registration-processor-packet-manager/ # Packet read/write API (Hazelcast-cached)
├── registration-processor-common-camel-bridge/ # Camel bridge — loads XML routes, dispatches to stage Kafka topics
├── mosip-stage-executor/ # Stage group runtime; discovers and wires stage beans
├── init/ # Group 1: Packet Receiver, Registration Status Service, DMZ Packet Server
├── pre-processor/ # Groups 2, 5, 6: Securezone, Quality Classifier, validators, uploader, classifier
├── core-processor/ # Groups 3, 4, 7: dedupe (bio/demo), ABIS, auth, manual adjudication, UIN generator, finalization
├── post-processor/ # Group 7 tail: Message Sender, Credential Requestor, Transaction Service
├── stage-groups/ # Deployable fat-JARs (stage-group-1 through stage-group-7)
├── workflow-engine/ # Workflow Manager Service (pause/resume/additional-info APIs) + Reprocessor
├── registration-processor-notification-service/
├── registration-processor-bio-dedupe-service-impl/
└── registration-processor-registration-status-service-impl/
```

## Database

SQL initialization scripts are in `db_scripts/mosip_regprc/`. Upgrade/migration scripts are in `db_upgrade_scripts/`. Supported databases: PostgreSQL (production), MySQL, H2 (tests).

## CI/CD

GitHub Actions (`.github/workflows/push-trigger.yml`) builds on push to `develop`, `master`, and `release-1*` branches:
1. Maven build via reusable `mosip/kattu` workflow (Java 21)
2. Publish JARs to Maven Central (OSSRH) — skipped for PRs and master
3. Build 16 Docker images in parallel and push to Docker Hub
4. SonarCloud analysis (project key: `mosip_registration`)

Kubernetes deployment uses Helm charts in `helm/` (one chart per stage group and supporting service).

## Key Configuration Properties

Runtime configuration is entirely externalized to the Spring Cloud Config Server. The two main files to understand are:
- `application-default.properties` — MOSIP-wide settings (DB, IAM, service URLs)
- `registration-processor-default.properties` — registration-processor-specific overrides

Camel route XMLs are also fetched from the config server at startup (URL pattern: `${spring.cloud.config.uri}/${camel.bridge}/${spring.profiles.active}/${spring.cloud.config.label}/`).

## Testing Notes

- Unit tests use JUnit 4, Mockito, and PowerMock.
- The Surefire plugin is configured with `--add-opens` JVM args for Java 21 module compatibility.
- SonarQube excludes DTOs, entities, config classes, and exception handlers from coverage requirements; the target is ~70% for business logic.
Loading
Loading