Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
1d99331
feat: Add multi-broker batch sync for documents
Gyaan507 Sep 6, 2026
26649d2
fix: resolve workflow startup_failure by moving permissions to top level
Gyaan507 Sep 6, 2026
06328ae
fix: resolve workflow errors (permissions escalation and invalid secr…
Gyaan507 Sep 6, 2026
bf97c23
fix(ci): switch base image to noble to resolve unknown blob push erro…
Gyaan507 Sep 6, 2026
9dfe899
ci(preprod): set image tag 34030599718 for feature roll
Sep 6, 2026
d41a076
fix(batch-sync): evict batchLocks on terminal state and validate UUID…
Gyaan507 Sep 6, 2026
47df609
feat: finalize broker detection and batch sync API
Gyaan507 Sep 6, 2026
b18d31d
ci(preprod): set image tag 34031719160 for feature roll
Sep 6, 2026
ce027d5
ci(preprod): set image tag 34033583098 for feature roll
Sep 6, 2026
8ae3d80
ci(preprod): set image tag 34034967459 for feature roll
Sep 6, 2026
deb7a57
ci(preprod): set image tag 34036233549 for feature roll
Sep 6, 2026
144c3a3
ci(preprod): set image tag 34038468765 for feature roll
Sep 6, 2026
53da8ad
ci(preprod): set image tag 34038628269 for feature roll
Sep 6, 2026
7fe6454
fix(preprod): disable Mongo auto-index so multi-broker-sync image can…
Gyaan507 Sep 6, 2026
7cc816a
ci(preprod): set image tag 34039496871 for feature roll
Sep 6, 2026
5c746c9
ci(preprod): set image tag 34040072809 for feature roll
Sep 6, 2026
7d71580
Prepare multi-broker-sync for main/prod merge.
Gyaan507 Sep 7, 2026
9807e54
fix(helm): disable Mongo auto-index on prod for /sync boot.
Gyaan507 Sep 7, 2026
529bccb
fix(doc-processor): address PR review auth and Kafka risks.
Gyaan507 Sep 7, 2026
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
13 changes: 7 additions & 6 deletions .github/workflows/am-doc-viewer-ui.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: AM Doc Viewer UI Publish

permissions:
contents: write
packages: write
id-token: write

on:
push:
branches: ["main", "develop", "feature/**", "test/**", "fix/**", "hotfix/**"]
Expand All @@ -16,18 +21,14 @@ on:
jobs:
publish:
name: Publish UI
permissions:
contents: read
packages: write
id-token: write
uses: AM-Portfolio/am-pipelines/.github/workflows/central-build-publish.yml@main
with:
language: 'flutter'
working_directory: 'apps/am-doc-viewer-ui'
image_name: 'am-doc-viewer-ui'
preprod_namespace: 'am-apps-preprod'
prod_namespace: 'am-apps-prod'
dev_namespace: 'am-apps-dev'
deploy_dev: true
deploy_dev: false
deploy_preprod: true
deploy_prod: false
secrets: inherit
13 changes: 7 additions & 6 deletions .github/workflows/am-document-processor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: AM Document Processor

permissions:
contents: write
packages: write
id-token: write

on:
push:
branches: ["main", "develop", "feature/**", "test/**", "fix/**", "hotfix/**"]
Expand All @@ -16,10 +21,6 @@ on:
jobs:
publish:
name: Build and Publish
permissions:
contents: read
packages: write
id-token: write
uses: AM-Portfolio/am-pipelines/.github/workflows/central-build-publish.yml@main
with:
language: 'java'
Expand All @@ -28,7 +29,7 @@ jobs:
build_context: '.'
preprod_namespace: 'am-apps-preprod'
prod_namespace: 'am-apps-prod'
dev_namespace: 'am-apps-dev'
deploy_dev: true
deploy_dev: false
deploy_preprod: true
deploy_prod: false
secrets: inherit
18 changes: 7 additions & 11 deletions .github/workflows/am-email-extractor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: AM Email Extractor

permissions:
contents: write
packages: write
id-token: write

on:
push:
branches: ["main", "develop", "feature/**", "test/**", "fix/**", "hotfix/**"]
Expand All @@ -16,24 +21,15 @@ on:
jobs:
publish:
name: Build and Publish
permissions:
contents: read
packages: write
id-token: write
uses: AM-Portfolio/am-pipelines/.github/workflows/central-build-publish.yml@main
with:
language: 'python'
working_directory: 'services/am-email-extractor'
image_name: 'am-email-extractor'
build_context: '.'
prepare_docker_context_script: |
git clone --depth 1 "https://x-access-token:${{ secrets.GHCR_TOKEN || secrets.GITHUB_PACKAGES_TOKEN || secrets.GITHUB_TOKEN }}@github.com/AM-Portfolio/am-platform.git" /tmp/am-platform
mkdir -p third_party
cp -r /tmp/am-platform/libraries/am-platform-security third_party/
rm -rf /tmp/am-platform
preprod_namespace: 'am-apps-preprod'
prod_namespace: 'am-apps-prod'
dev_namespace: 'am-apps-dev'
deploy_dev: true
deploy_dev: false
deploy_preprod: true
deploy_prod: false
secrets: inherit
2 changes: 1 addition & 1 deletion services/am-cloudinary-manager/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Runtime stage using pre-built JAR
FROM eclipse-temurin:17-jre-jammy
FROM eclipse-temurin:17-jre-noble

WORKDIR /app

Expand Down
5 changes: 4 additions & 1 deletion services/am-document-processor/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,7 @@ Thumbs.db
# Local environment config
src/main/resources/application-local-dev.yml
.env
settings.xml
settings.xml
# Feature-branch Argo image pin — never ship on main
helm/ci-image.yaml

2 changes: 1 addition & 1 deletion services/am-document-processor/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ===============================
# Runtime Image
# ===============================
FROM eclipse-temurin:17-jre-jammy
FROM eclipse-temurin:17-jre-noble

WORKDIR /app

Expand Down
2 changes: 2 additions & 0 deletions services/am-document-processor/helm/values.preprod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,5 @@ ingress:

env:
SPRING_PROFILES_ACTIVE: "preprod,security"
# Mongo partial index owner_broker_broker_only_idx uses which this Mongo rejects; boot without auto-index so /sync image can start.
SPRING_DATA_MONGODB_AUTO_INDEX_CREATION: "false"
2 changes: 2 additions & 0 deletions services/am-document-processor/helm/values.prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ vault:

env:
SPRING_PROFILES_ACTIVE: "prod,security"
# Same as preprod: Mongo rejects partial index owner_broker_broker_only_idx on auto-create.
SPRING_DATA_MONGODB_AUTO_INDEX_CREATION: "false"

global:
image:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package org.am.mypotrfolio.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.Executor;

/**
* Async configuration for the document processing pipeline.
*
* <p>A dedicated thread pool ({@code docProcessingPool}) is used for batch
* document processing so that parallel uploads do not starve the servlet
* container threads. Pool sizes are externally configurable via application
* properties.</p>
*
* <pre>
* doc.processing.pool.size — core pool size (default 5)
* doc.processing.pool.max — max pool size (default 10)
* doc.processing.pool.queue — queue capacity (default 100)
* </pre>
*/
@Configuration
@EnableAsync
public class AsyncConfig {

@Bean("docProcessingPool")
public Executor docProcessingPool(
@Value("${doc.processing.pool.size:5}") int coreSize,
@Value("${doc.processing.pool.max:10}") int maxSize,
@Value("${doc.processing.pool.queue:100}") int queueCapacity) {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(coreSize);
executor.setMaxPoolSize(maxSize);
executor.setQueueCapacity(queueCapacity);
executor.setThreadNamePrefix("doc-proc-");
executor.setWaitForTasksToCompleteOnShutdown(true);
executor.setAwaitTerminationSeconds(60);
executor.initialize();
return executor;
}
}
Loading
Loading