diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..dd40d9c
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,82 @@
+# AGENTS.md
+
+This file provides guidance to AI agents when working with code in this repository.
+## Project Overview
+
+`biosdk-services` is a Spring Boot REST service that wraps MOSIP's `IBioApiV2` biometric SDK interface and exposes it over HTTP. It is used by the MOSIP registration processor to perform biometric operations (match, segment, extract, quality check, format convert). The service loads a third-party SDK JAR at startup via `-Dloader.path` and `-Dbiosdk_bioapi_impl`, so the actual biometric logic lives outside this repo.
+
+## Build & Run
+
+All Maven commands must be run from `biosdk-services/` (the inner module directory), not the repo root.
+
+```bash
+# Build (skip GPG signing for local dev)
+cd biosdk-services
+mvn clean install -Dgpg.skip=true
+
+# Run tests only
+mvn test
+
+# Run a single test class
+mvn test -Dtest=MainControllerTest
+
+# Run with mock SDK (after build)
+java -Dloader.path=mock-sdk-1.4.0-SNAPSHOT-jar-with-dependencies.jar \
+ -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 \
+ --add-modules=ALL-SYSTEM \
+ --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED \
+ --add-opens java.base/java.lang.reflect=ALL-UNNAMED \
+ --add-opens java.base/java.lang.stream=ALL-UNNAMED \
+ --add-opens java.base/java.time=ALL-UNNAMED \
+ --add-opens java.base/java.time.LocalDate=ALL-UNNAMED \
+ --add-opens java.base/java.time.LocalDateTime=ALL-UNNAMED \
+ --add-opens java.base/java.time.LocalDateTime.date=ALL-UNNAMED \
+ -jar target/biosdk-services-1.4.0-SNAPSHOT.jar
+```
+
+The `run_local.bat` script captures the full run command for Windows. Health check: `http://localhost:9099/biosdk-service/`. Swagger UI: `http://localhost:9099/biosdk-service/swagger-ui.html`.
+
+## Key Configuration
+
+- **`biosdk_bioapi_impl`** — fully qualified class name of the `IBioApiV2` implementation to load. Required at startup; must be on the `-Dloader.path`.
+- **`spring.cloud.config.enabled`** — set to `false` (via `application-local.properties`) for local development without a config server.
+- Config server integration: `bootstrap.properties` points at `http://localhost:51000/config`; remote config files live in [mosip-config](https://github.com/mosip/mosip-config/tree/master) (`application-default.properties`, `biosdk-service-default.properties`).
+- Java 21 with `--enable-preview` is required. The compiler and surefire plugin both pass `--enable-preview`.
+
+## Architecture
+
+```
+MainController ← single REST controller, all /biosdk-service/* endpoints
+ │
+ └─ BioSdkServiceFactory ← selects BioSdkServiceProvider by request.version
+ │
+ └─ BioSdkServiceProvider (SPI interface)
+ │
+ └─ BioSdkServiceProviderImpl_V_1_0 ← current only implementation (spec "1.0")
+ │
+ └─ IBioApiV2 ← loaded dynamically at startup by BioSdkLibConfig
+```
+
+**Request flow**: Every endpoint receives a `RequestDto` (wrapper with `version` + base64-encoded `request` payload). `MainController` asks the factory for the matching `BioSdkServiceProvider` by version string, then delegates. `BioSdkServiceProviderImpl_V_1_0` deserializes the inner request DTO, calls `IBioApiV2`, and returns the result wrapped in `ResponseDto`.
+
+**SDK loading** (`BioSdkLibConfig`): At startup, `@PostConstruct` validates the class name from `biosdk_bioapi_impl`. The `IBioApiV2` bean is created lazily via reflection using that class name; it must exist on the Spring Boot loader path (`-Dloader.path`).
+
+**Versioning**: The factory pattern in `BioSdkServiceFactory` is designed to support multiple spec versions. Adding a new version means implementing `BioSdkServiceProvider`, annotating it `@Component`, and setting `getSpecVersion()` accordingly — Spring will auto-inject it into the factory's list.
+
+## API Endpoints
+
+All endpoints are under `/biosdk-service/` (context path). All POST endpoints consume and produce `application/json`. The request body is always `RequestDto` with a `version` field and a base64-encoded `request` field.
+
+| Path | Method | Operation |
+|---|---|---|
+| `/` | GET | Health check |
+| `/init` | POST | SDK initialization |
+| `/match` | POST | Biometric 1:N matching |
+| `/check-quality` | POST | Quality assessment |
+| `/extract-template` | POST | Feature extraction |
+| `/segment` | POST | Biometric segmentation |
+| `/convert-format` | POST | ISO to JPEG/PNG conversion |
+
+## Sonar / Code Coverage
+
+Sonar exclusions are configured for `dto/`, `config/`, `constants/`, and `Status/` packages. Run with the `sonar` Maven profile: `mvn verify -Psonar`.
\ No newline at end of file
diff --git a/THIRD-PARTY-NOTICES b/THIRD-PARTY-NOTICES
index c3afecc..0317892 100644
--- a/THIRD-PARTY-NOTICES
+++ b/THIRD-PARTY-NOTICES
@@ -62,7 +62,7 @@ Homepage: https://github.com/eclipse-ee4j/servlet-api
================================================================================
Package: MOSIP Kernel Core
Name: io.mosip.kernel:kernel-core
-Version: 1.3.0-SNAPSHOT
+Version: 1.4.0-SNAPSHOT
License: MPL-2.0 (Inferred from MOSIP repo)
Homepage: https://mosip.io
================================================================================
@@ -70,7 +70,7 @@ Homepage: https://mosip.io
================================================================================
Package: MOSIP Kernel BOM
Name: io.mosip.kernel:kernel-bom
-Version: 1.3.0-SNAPSHOT
+Version: 1.4.0-SNAPSHOT
License: MPL-2.0 (Inferred)
Homepage: https://mosip.io
================================================================================
@@ -78,7 +78,7 @@ Homepage: https://mosip.io
================================================================================
Package: MOSIP Kernel Logger (Logback)
Name: io.mosip.kernel:kernel-logger-logback
-Version: 1.3.0-SNAPSHOT
+Version: 1.4.0-SNAPSHOT
License: MPL-2.0 (Inferred)
Homepage: https://mosip.io
================================================================================
@@ -86,7 +86,7 @@ Homepage: https://mosip.io
================================================================================
Package: MOSIP Biometrics API
Name: io.mosip.kernel:kernel-biometrics-api
-Version: 1.3.0-SNAPSHOT
+Version: 1.4.0-SNAPSHOT
License: MPL-2.0 (Inferred)
Homepage: https://mosip.io
================================================================================
diff --git a/THIRD-PARTY-NOTICES.txt b/THIRD-PARTY-NOTICES.txt
new file mode 100644
index 0000000..0317892
--- /dev/null
+++ b/THIRD-PARTY-NOTICES.txt
@@ -0,0 +1,217 @@
+THIRD-PARTY-NOTICES
+
+This project includes third-party packages that are distributed under various open-source licenses. Below is a list of packages and their associated licenses.
+
+================================================================================
+Package: mosip/kattu – GitHub Actions Workflow: tag.yml
+Version: master
+License: CC0-1.0 (Creative Commons Zero v1.0 Universal)
+Homepage: https://github.com/mosip/kattu
+================================================================================
+
+================================================================================
+Package: mosip/kattu – GitHub Actions Workflow: chart-lint-publish.yml
+Version: master
+License: CC0-1.0 (Creative Commons Zero v1.0 Universal)
+Homepage: https://github.com/mosip/kattu
+================================================================================
+
+================================================================================
+Package: mosip/kattu – GitHub Actions Workflow: maven-build.yml
+Version: master-java21
+License: CC0-1.0 (Creative Commons Zero v1.0 Universal)
+Homepage: https://github.com/mosip/kattu
+================================================================================
+
+================================================================================
+Package: mosip/kattu – GitHub Actions Workflow: maven-publish-to-nexus.yml
+Version: master-java21
+License: CC0-1.0 (Creative Commons Zero v1.0 Universal)
+Homepage: https://github.com/mosip/kattu
+================================================================================
+
+================================================================================
+Package: mosip/kattu – GitHub Actions Workflow: maven-sonar-analysis.yml
+Version: master-java21
+License: CC0-1.0 (Creative Commons Zero v1.0 Universal)
+Homepage: https://github.com/mosip/kattu
+================================================================================
+
+================================================================================
+Package: mosip/kattu – GitHub Actions Workflow: docker-build.yml
+Version: master-java21
+License: CC0-1.0 (Creative Commons Zero v1.0 Universal)
+Homepage: https://github.com/mosip/kattu
+================================================================================
+
+================================================================================
+Package: mosip/kattu – GitHub Actions Workflow: release-changes.yml
+Version: master
+License: CC0-1.0 (Creative Commons Zero v1.0 Universal)
+Homepage: https://github.com/mosip/kattu
+================================================================================
+
+================================================================================
+Package: Java Servlet API
+Name: javax.servlet:javax.servlet-api
+Version: Not specified
+License: CDDL 1.1
+Homepage: https://github.com/eclipse-ee4j/servlet-api
+================================================================================
+
+================================================================================
+Package: MOSIP Kernel Core
+Name: io.mosip.kernel:kernel-core
+Version: 1.4.0-SNAPSHOT
+License: MPL-2.0 (Inferred from MOSIP repo)
+Homepage: https://mosip.io
+================================================================================
+
+================================================================================
+Package: MOSIP Kernel BOM
+Name: io.mosip.kernel:kernel-bom
+Version: 1.4.0-SNAPSHOT
+License: MPL-2.0 (Inferred)
+Homepage: https://mosip.io
+================================================================================
+
+================================================================================
+Package: MOSIP Kernel Logger (Logback)
+Name: io.mosip.kernel:kernel-logger-logback
+Version: 1.4.0-SNAPSHOT
+License: MPL-2.0 (Inferred)
+Homepage: https://mosip.io
+================================================================================
+
+================================================================================
+Package: MOSIP Biometrics API
+Name: io.mosip.kernel:kernel-biometrics-api
+Version: 1.4.0-SNAPSHOT
+License: MPL-2.0 (Inferred)
+Homepage: https://mosip.io
+================================================================================
+
+================================================================================
+Package: Spring Boot Starter Actuator
+Name: org.springframework.boot:spring-boot-starter-actuator
+Version: Not specified
+License: Apache License 2.0 (Inferred)
+Homepage: https://spring.io/projects/spring-boot
+================================================================================
+
+================================================================================
+Package: Spring Boot Starter Web
+Name: org.springframework.boot:spring-boot-starter-web
+Version: Not specified
+License: Apache License 2.0
+Homepage: https://spring.io/projects/spring-boot
+================================================================================
+
+================================================================================
+Package: Spring Boot Maven Plugin
+Name: org.springframework.boot:spring-boot-maven-plugin
+Version: 3.2.3
+License: Apache License 2.0
+Homepage: https://spring.io/projects/spring-boot
+================================================================================
+
+================================================================================
+Package: Spring Data Commons
+Name: org.springframework.data:spring-data-commons
+Version: Not specified
+License: Apache License 2.0 (Inferred)
+Homepage: https://spring.io/projects/spring-data
+================================================================================
+
+================================================================================
+Package: SpringDoc OpenAPI WebMVC UI
+Name: org.springdoc:springdoc-openapi-starter-webmvc-ui
+Version: 2.5.0
+License: Apache License 2.0
+Homepage: https://springdoc.org
+================================================================================
+
+================================================================================
+Package: Jackson Dataformat XML
+Name: com.fasterxml.jackson.dataformat:jackson-dataformat-xml
+Version: Not specified
+License: Apache License 2.0 (Inferred)
+Homepage: https://github.com/FasterXML/jackson-dataformat-xml
+================================================================================
+
+================================================================================
+Package: Jakarta Transaction API
+Name: jakarta.transaction:jakarta.transaction-api
+Version: Not specified
+License: EPL 2.0
+Homepage: https://github.com/eclipse-ee4j/jta-api
+================================================================================
+
+================================================================================
+Package: JSON-Simple
+Name: com.googlecode.json-simple:json-simple
+Version: Not specified
+License: Apache License 2.0 (Inferred)
+Homepage: https://github.com/fangyidong/json-simple
+================================================================================
+
+================================================================================
+Package: Gson
+Name: com.google.code.gson:gson
+Version: Not specified
+License: Apache License 2.0
+Homepage: https://github.com/google/gson
+================================================================================
+
+================================================================================
+Package: Lombok
+Name: org.projectlombok:lombok
+Version: Not specified
+License: MIT License
+Homepage: https://projectlombok.org
+================================================================================
+
+================================================================================
+Package: Apache Maven Compiler Plugin
+Version: 3.11.0
+License: Apache License 2.0
+Homepage: https://maven.apache.org/plugins
+================================================================================
+
+================================================================================
+Package: Apache Maven Surefire Plugin
+Version: 3.1.2
+License: Apache License 2.0
+Homepage: https://maven.apache.org/plugins
+================================================================================
+
+================================================================================
+Package: Apache Maven Source Plugin
+Version: 3.3.1
+License: Apache License 2.0
+Homepage: https://maven.apache.org/plugins
+================================================================================
+
+================================================================================
+Package: Apache Maven Javadoc Plugin
+Version: 3.2.0
+License: Apache License 2.0
+Homepage: https://maven.apache.org/plugins
+================================================================================
+
+================================================================================
+Package: Apache Maven GPG Plugin
+Version: 3.2.3
+License: Apache License 2.0
+Homepage: https://maven.apache.org/plugins
+================================================================================
+
+================================================================================
+Package: JUnit Vintage Engine
+Name: org.junit.vintage:junit-vintage-engine
+Version: Not specified
+License: Eclipse Public License 2.0
+Homepage: https://junit.org
+================================================================================
+
+Full license texts and additional details for each of the above packages are available in the license/ directory of this repository. Please refer to those files or the original source of each package for complete legal terms and conditions.
diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile
index b8de09d..3b2236f 100644
--- a/biosdk-services/Dockerfile
+++ b/biosdk-services/Dockerfile
@@ -1,4 +1,4 @@
-FROM mosipdev/openjdk-21-jre:latest
+FROM mosipid/openjdk-21-jre:21.0.4
# label to be assigned along with Docker build [Mandatory]
ARG SOURCE
@@ -93,7 +93,8 @@ ADD ./target/biosdk-services-*.jar biosdk-services.jar
RUN chmod +x /home/${container_user}/configure_biosdk.sh \
&& chmod a-w /home/${container_user}/configure_biosdk.sh \
&& chmod 775 biosdk-services.jar \
- && chown -R ${container_user}:${container_user} /home/${container_user}
+ && chown -R ${container_user}:${container_user} /home/${container_user} \
+ && chmod +x configure_biosdk.sh
# select container user for all tasks
USER ${container_user_uid}:${container_user_gid}
@@ -102,5 +103,4 @@ EXPOSE 9099
ENTRYPOINT ["./configure_biosdk.sh"]
-CMD echo $biosdk_bioapi_impl ; \
-java -XX:-UseG1GC -XX:-UseParallelGC -XX:-UseShenandoahGC -XX:+ExplicitGCInvokesConcurrent -XX:+UseZGC -XX:+ZGenerational -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCompressedOops -XX:MaxGCPauseMillis=200 -Dfile.encoding=UTF-8 -Dloader.path="${loader_path_env}" -Dserver.servlet.context-path="${server_servlet_context_path_env}" -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name="${spring_cloud_config_name_env}" --add-modules=ALL-SYSTEM --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang.stream=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.time.LocalDate=ALL-UNNAMED --add-opens java.base/java.time.LocalDateTime=ALL-UNNAMED --add-opens java.base/java.time.LocalDateTime.date=ALL-UNNAMED --add-opens java.base/jdk.internal.reflect.DirectMethodHandleAccessor=ALL-UNNAMED -jar biosdk-services.jar
+CMD java -Dloader.path="${loader_path_env}" -Dserver.servlet.context-path="${server_servlet_context_path_env}" -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name="${spring_cloud_config_name_env}" --add-modules=ALL-SYSTEM --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang.stream=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.time.LocalDate=ALL-UNNAMED --add-opens java.base/java.time.LocalDateTime=ALL-UNNAMED --add-opens java.base/java.time.LocalDateTime.date=ALL-UNNAMED --add-opens java.base/jdk.internal.reflect.DirectMethodHandleAccessor=ALL-UNNAMED -jar biosdk-services.jar
diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml
index ecd616f..f7c7765 100644
--- a/biosdk-services/pom.xml
+++ b/biosdk-services/pom.xml
@@ -6,7 +6,7 @@
biosdk-services
io.mosip.biosdk
- 1.2.1-SNAPSHOT
+ 1.4.0-SNAPSHOT
biosdk-services
Sample implementation of biometrics SDK services
https://github.com/mosip/biosdk-services
@@ -41,10 +41,10 @@
2.5.0
- 1.2.1-SNAPSHOT
- 1.2.1-SNAPSHOT
- 1.2.1-SNAPSHOT
- 1.2.1-SNAPSHOT
+ 1.4.0-SNAPSHOT
+ 1.4.0-SNAPSHOT
+ 1.4.0-SNAPSHOT
+ 1.4.0-SNAPSHOT
**/dto/**, **/config/**, **/constants/**, **/Status/**
@@ -140,7 +140,6 @@
https://central.sonatype.com/api/v1/publisher
-
@@ -286,7 +285,6 @@
-->
-
maven-deploy-plugin
diff --git a/biosdk-services/run.bat b/biosdk-services/run.bat
index a2f49b3..e378c30 100644
--- a/biosdk-services/run.bat
+++ b/biosdk-services/run.bat
@@ -1 +1 @@
-java -Dloader.path=mock-sdk-1.3.0-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 -jar target/biosdk-services-1.3.0-SNAPSHOT.jar
\ No newline at end of file
+java -Dloader.path=mock-sdk-1.4.0-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 -jar target/biosdk-services-1.4.0-SNAPSHOT.jar
\ No newline at end of file
diff --git a/biosdk-services/run_local.bat b/biosdk-services/run_local.bat
index 6ec7c7a..b06101c 100644
--- a/biosdk-services/run_local.bat
+++ b/biosdk-services/run_local.bat
@@ -1 +1 @@
-java -Dloader.path=mock-sdk-1.3.0-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 --add-modules=ALL-SYSTEM --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED --add-opens java.xml/jdk.internal.reflect=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang.stream=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.time.LocalDate=ALL-UNNAMED --add-opens java.base/java.time.LocalDateTime=ALL-UNNAMED --add-opens java.base/java.time.LocalDateTime.date=ALL-UNNAMED -jar target/biosdk-services-1.3.0-SNAPSHOT.jar
+java -Dloader.path=mock-sdk-1.4.0-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 --add-modules=ALL-SYSTEM --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED --add-opens java.xml/jdk.internal.reflect=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang.stream=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.time.LocalDate=ALL-UNNAMED --add-opens java.base/java.time.LocalDateTime=ALL-UNNAMED --add-opens java.base/java.time.LocalDateTime.date=ALL-UNNAMED -jar target/biosdk-services-1.4.0-SNAPSHOT.jar
diff --git a/helm/biosdk-service/values.yaml b/helm/biosdk-service/values.yaml
index cc12338..3bb2e83 100644
--- a/helm/biosdk-service/values.yaml
+++ b/helm/biosdk-service/values.yaml
@@ -12,23 +12,18 @@
##
commonLabels:
app.kubernetes.io/component: mosip
-
## Add annotations to all the deployed resources
##
commonAnnotations: {}
-
## Kubernetes Cluster Domain
##
clusterDomain: cluster.local
-
## Extra objects to deploy (value evaluated as a template)
##
extraDeploy: []
-
## Number of nodes
##
replicaCount: 1
-
service:
type: ClusterIP
port: 80
@@ -49,7 +44,6 @@ service:
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
##
externalTrafficPolicy: Cluster
-
image:
registry: docker.io
repository: mosipqa/biosdk-server
@@ -65,10 +59,8 @@ image:
##
# pullSecrets:
# - myRegistryKeySecretName
-
## Port on which this particular spring service module is running.
springServicePort: 9099
-
## Configure extra options for liveness and readiness probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
##
@@ -82,7 +74,6 @@ startupProbe:
timeoutSeconds: 5
failureThreshold: 30
successThreshold: 1
-
livenessProbe:
enabled: true
httpGet:
@@ -93,7 +84,6 @@ livenessProbe:
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
-
readinessProbe:
enabled: true
httpGet:
@@ -104,7 +94,6 @@ readinessProbe:
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
-
##
# existingConfigmap:
@@ -112,12 +101,10 @@ readinessProbe:
##
command: []
args: []
-
## Deployment pod host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
-
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
@@ -126,42 +113,37 @@ resources:
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
limits:
- cpu: 1500m
- memory: 4000Mi
+ cpu: 1600m
+ memory: 5000Mi
requests:
- cpu: 300m
- memory: 1000Mi
-
+ cpu: 800m
+ memory: 2500Mi
additionalResources:
## Specify any JAVA_OPTS string here. These typically will be specified in conjunction with above resources
## Example: java_opts: "-Xms500M -Xmx500M"
- javaOpts: "-Xms3250M -Xmx3250M"
-
+ javaOpts: >-
+ -XX:+UseZGC -XX:+ZGenerational -XX:+ZProactive -Xms1875m -Xmx4050m -XX:SoftMaxHeapSize=3550m -XX:ActiveProcessorCount=2 -XX:+UseContainerSupport -XX:MaxMetaspaceSize=300m -XX:MetaspaceSize=160m -XX:ReservedCodeCacheSize=192m -XX:InitialCodeCacheSize=64m -XX:+UseCodeCacheFlushing -XX:+ExitOnOutOfMemoryError
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
## Clamav container already runs as 'mosip' user, so we may not need to enable this
containerSecurityContext:
enabled: false
runAsUser: mosip
runAsNonRoot: true
-
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
##
podSecurityContext:
enabled: false
fsGroup: 1001
-
## Pod affinity preset
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
## Allowed values: soft, hard
##
podAffinityPreset: ""
-
## Pod anti-affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
## Allowed values: soft, hard
##
podAntiAffinityPreset: soft
-
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
## Allowed values: soft, hard
@@ -183,32 +165,26 @@ nodeAffinityPreset:
## - e2e-az2
##
values: []
-
## Affinity for pod assignment. Evaluated as a template.
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
##
affinity: {}
-
## Node labels for pod assignment. Evaluated as a template.
## ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
-
## Tolerations for pod assignment. Evaluated as a template.
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
-
## Pod extra labels
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
-
## Annotations for server pods.
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
-
## pods' priority.
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
##
@@ -223,18 +199,14 @@ lifecycleHooks:
- sh
- -c
- sleep 30
-
## Termination grace perios : the maximum amount of time (in seconds) Kubernetes will wait for a container to gracefully shut down
terminationGracePeriodSeconds: 60
-
## Custom Liveness probes for
##
customLivenessProbe: {}
-
## Custom Rediness probes
##
customReadinessProbe: {}
-
## Update strategy - only really applicable for deployments with RWO PVs attached
## If replicas = 1, an update can get "stuck", as the previous pod remains attached to the
## PV, and the "incoming" pod can never start. Changing the strategy to "Recreate" will
@@ -242,7 +214,6 @@ customReadinessProbe: {}
##
updateStrategy:
type: RollingUpdate
-
## Additional environment variables to set
## Example:
## extraEnvVars:
@@ -256,26 +227,21 @@ extraEnvVars:
value: biosdk-service
- name: spring_cloud_config_name_env
value: biosdk-service
-
## ConfigMap with extra environment variables that used
##
extraEnvVarsCM:
- global
- config-server-share
- artifactory-share
-
## Secret with extra environment variables
##
extraEnvVarsSecret: []
-
## Extra volumes to add to the deployment
##
extraVolumes: []
-
## Extra volume mounts to add to the container
##
extraVolumeMounts: []
-
## Add init containers to the pods.
## Example:
## initContainers:
@@ -287,7 +253,6 @@ extraVolumeMounts: []
## containerPort: 1234
##
initContainers: {}
-
## Add sidecars to the pods.
## Example:
## sidecars:
@@ -299,7 +264,6 @@ initContainers: {}
## containerPort: 1234
##
sidecars: {}
-
persistence:
enabled: false
## If defined, storageClassName:
@@ -321,7 +285,6 @@ persistence:
existingClaim:
# Dir where config and keys are written inside container
mountDir:
-
## Init containers parameters:
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
##
@@ -355,12 +318,10 @@ volumePermissions:
## cpu: 100m
## memory: 128Mi
##
-
## Specifies whether RBAC resources should be created
##
rbac:
create: true
-
## Specifies whether a ServiceAccount should be created
##
serviceAccount:
@@ -369,7 +330,6 @@ serviceAccount:
## If not set and create is true, a name is generated using the fullname template
##
name:
-
## Prometheus Metrics
##
## TODO: Enable metrics after prometheus url is available
@@ -380,9 +340,7 @@ metrics:
##
podAnnotations:
prometheus.io/scrape: "true"
-
endpointPath: /v1/biosdk-service/actuator/prometheus
-
## Prometheus Service Monitor
## ref: https://github.com/coreos/prometheus-operator
##
@@ -409,7 +367,6 @@ metrics:
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
##
additionalLabels: {}
-
## Custom PrometheusRule to be defined
## The value is evaluated as a template, so, for example, the value can depend on .Release or .Chart
## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
@@ -427,13 +384,11 @@ metrics:
# labels:
# severity: error
rules: []
-
## Only internal access
istio:
enabled: true
gateway: istio-system/internal
prefix: /biosdk-service
-
## Biosdk server expects an SDK library (zip file). Default is a mock SDK available in the artifactory.
## You may specify any url as long as it can be accessed from within the cluster
## bioapi_impl: Classpath of SDK implementation within the SDK lib.