From d0e8e321a2d4b49bd5bf82be1a0a7c3e30b3b0e4 Mon Sep 17 00:00:00 2001 From: Olena Chubukina Date: Wed, 8 Oct 2025 13:26:06 +0200 Subject: [PATCH 1/9] CABOOSE-32 - adding event-listener --- development/docker-compose/.env | 2 +- .../docker-compose/docker-compose.yaml | 260 ++++++++++++++++-- 2 files changed, 241 insertions(+), 21 deletions(-) diff --git a/development/docker-compose/.env b/development/docker-compose/.env index 2847dfb..cb05a68 100644 --- a/development/docker-compose/.env +++ b/development/docker-compose/.env @@ -1,2 +1,2 @@ -BB_VERSION=2025.08 +BB_VERSION=2025.09-LTS BOOTSTRAP_JOB_VERSION=2025.04 \ No newline at end of file diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index 3ec4538..51db608 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -25,7 +25,7 @@ x-common-variables: &common-variables spring.main.banner-mode: off spring.cloud.config.enabled: false spring.cloud.kubernetes.enabled: false - backbase.audit.enabled: false + backbase.audit.enabled: true backbase.security.public.paths: /integration-api/** backbase.security.mtls.enabled: false backbase.http.request-logging-filter.max-payload-length: 5000 @@ -199,6 +199,7 @@ services: ports: - '8180:8080' environment: + <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config] KEYCLOAK_ADMIN: "admin" KEYCLOAK_ADMIN_PASSWORD: "admin" BACKBASE_HTTP_CORS: "true" @@ -210,12 +211,18 @@ services: KC_DB_PASSWORD: "root" KC_TRANSACTION_XA_ENABLED: "true" KC_LOG_LEVEL: "INFO" + backbase.audit.enabled: true KC_LOG_CONSOLE_FORMAT: "%d{yyy:MM:dd HH:mm:ss.SSS} %-5p [%X{traceId},%X{spanId},%X{sampled}] %i --- [%t] %c{2.} : %m%n" KC_HOSTNAME_URL: "http://localhost:8180/auth/" KC_SPI_SERVICE_TOKEN_DEFAULT_URL: "http://token-converter:8080" KC_SPI_USER_MANAGER_CLIENT_DEFAULT_URL: "http://user-manager:8080" KC_SPI_CONNECTIONS_JPA_LEGACY_INITIALIZE_EMPTY: "true" KC_SPI_CONNECTIONS_JPA_LEGACY_MIGRATION_STRATEGY: "update" + keycloak.backbase.event-listeners.audit.endpoint: "http://audit-service:8080" + KC_SPI_EVENTS_LISTENER_AUDIT_INTEGRATION_SERVICE_URL: "http://audit-service:8080" + KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_NO_AUTH_LOCALHOST: "true" + KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://localhost:8090" + # KC_SPI_MOBILE_AUTHENTICATION_CLIENT_DEFAULT_URL: "http://mobile-authentication:8080" JAVA_TOOL_OPTIONS: "-Dquarkus.log.category.'\"com.backbase\"'.level=DEBUG \ -Dquarkus.log.category.'\"org.keycloak.protocol.oidc\"'.level=TRACE" volumes: @@ -311,8 +318,75 @@ services: - activemq - registry + loan-integration-outbound-mock: + image: repo.backbase.com/backbase-docker-releases/loan-integration-outbound-mock:${BB_VERSION} + ports: + - "9055:8080" + environment: + <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config ] + eureka.instance.appname: loan-integration-outbound-mock + logging.level.root: INFO + logging.level.org.springframework.web.client.RestTemplate: INFO + volumes: + - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar + healthcheck: + <<: *healthcheck-defaults + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] + depends_on: + mysql: + condition: service_healthy + links: + - activemq + - registry + +# loan-integration: +# image: repo.backbase.com/backbase-docker-releases/loan-integration:${BB_VERSION} +# ports: +# - "9054:8080" +# environment: +# <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config] +# eureka.instance.appname: loan-integration +# logging.level.root: INFO +# logging.level.org.springframework.web.client.RestTemplate: INFO +# volumes: +# - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar +# healthcheck: +# <<: *healthcheck-defaults +# test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] +# depends_on: +# mysql: +# condition: service_healthy +# links: +# - activemq +# - registry + + loan: + image: repo.backbase.com/backbase-docker-releases/loan:${BB_VERSION} + ports: + - "8054:8080" + environment: + <<: [*common-variables, *message-broker-variables, *database-variables] + # backbase.arrangement.arrangement-views.views: arrangement-views + backbase.communication.services.dbs.loan.integration.outbound.service-id: "loan-integration-outbound-mock" + spring.application.name: "loan" + spring.datasource.url: jdbc:mysql://mysql:3306/loan?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true + backbase.arrangement.alias.journey: "USER_ALIAS" + spring.cloud.azure.eventhubs.kafka.enabled: "false" + backbase.loan.payments.payment-option-validation-on-core-banking: "false" + volumes: + - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar + healthcheck: + <<: *healthcheck-defaults + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] + depends_on: + mysql: + condition: service_healthy + links: + - activemq + - registry + transaction-manager: - image: repo.backbase.com/backbase-docker-releases/transaction-manager:5.5.0 + image: repo.backbase.com/backbase-docker-releases/transaction-manager:2025.08.5 ports: - "8052:8080" environment: @@ -335,6 +409,24 @@ services: "backbase.transaction.domain.types": "PAY" "backbase.transaction.domain.typeGroups": "PAY" "backbase.transaction.domain.typeGroupMapping.PAY": "PAY" + "backbase.communication.services.transaction.enrichment.version": "v1" + "backbase.lifecycle.delayed-shutdown.delay": "15s" + "backbase.lifecycle.delayed-shutdown.enabled": "true" + "backbase.tailored-value-proposition.enabled": "true" + "backbase.transaction.domain.typeGroupMapping.Fees": "Fee, Cheques" + "backbase.transaction.domain.typeGroupMapping.Loans": "Deposit, ACH" + "backbase.transaction.domain.typeGroupMapping.Other": "Other" + "backbase.transaction.domain.typeGroupMapping.Payment": "Credit/Debit Card, Bill Payment" + "backbase.transaction.domain.typeGroupMapping.Withdrawal": "ATM, Cash, POS, Withdrawal" + "backbase.transaction.export.csv.dateFormat": "MM/dd/YYYY" + "backbase.transaction.export.csv.fields": "BBAN,name,counterPartyAccountNumber,counterPartyName,currency,amount,creditDebitIndicator,bookingDate,type,typeGroup,reference,instructedCurrency,currencyExchangeRate,instructedAmount,description,category,checkSerialNumber" + "backbase.transaction.export.csv.headers": "Account number(BBAN),Account name,Counter party account number,Counter party name,Currency,Amount,Credit/debit indicator,Book date,Transaction type,Transaction group,Transaction reference,Instructed currency,currency exchange rate,Instructed amount,Description,Category,Check number" + "backbase.transaction.export.ofx.supportedProductTypes": "current-account,savings-account,loan,debit-card,credit-card" + "backbase.transaction.export.pdf.maxItems": "10000" + "backbase.transaction.export.qbo.supportedProductTypes": "current-account,savings-account,loan,debit-card,credit-card" + "backbase.transaction.export.qfx.supportedProductTypes": "current-account,savings-account,loan,debit-card,credit-card" + "backbase.transaction.partition.bookingDateSearchMaxDateRange": "91" + volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar healthcheck: @@ -348,7 +440,7 @@ services: - registry transaction-integration: - image: repo.backbase.com/backbase-docker-releases/transaction-integration:${BB_VERSION} + image: repo.backbase.com/backbase-docker-releases/transaction-integration:2025.08.5 ports: - "9051:8080" environment: @@ -460,7 +552,7 @@ services: - registry bootstrap-job: - image: crreference914.azurecr.io/development/bootstrap-job:3.2.0-SNAPSHOT-20250904064858 + image: bootstrap-job/development/bootstrap-job:20251007 profiles: - bootstrap environment: @@ -511,6 +603,16 @@ services: backbase.bootstrap.ingestions.plugins.caboose.enabled: true backbase.stream.audiences.segmentation.user-kind.defaultCustomerCategory: RETAIL logging.level.com.backbase.bootstrap: DEBUG + caboose.currentAccountProductKeys.USD: pr-current-account-usd + caboose.currentAccountProductKeys.EUR: pr-current-account-eur + caboose.savingsAccountProductKeys.USD: pr-saving-account-usd + caboose.savingsAccountProductKeys.EUR: pr-saving-account-eur + caboose.line-of-credit-product-keys.USD: pr-saving-account-usd + caboose.line-of-credit-product-keys.EUR: pr-saving-account-eur + caboose.term-loan-product-keys.USD: pr-term-loan-usd + caboose.term-loan-product-keys.EUR: pr-term-loan-eur + caboose.mortgage-product-keys.USD: pr-mortgage-usd + caboose.mortgage-product-keys.EUR: pr-mortgage-eur # volumes: # # example where you can test your own files # - ./test-data/products-jh.json:/app/resources/modelbank/core-data/base/product-catalog/products-jh.json @@ -531,19 +633,92 @@ services: condition: service_healthy caboose: - image: crreference914.azurecr.io/staging/caboose-spring:2.1.0-SNAPSHOT-20250902073935 + image: caboose-spring/development/caboose-spring:202510074 ports: - "9001:8080" environment: <<: [*common-variables] SPRING_PROFILES_ACTIVE: local server.port: 8080 + volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar healthcheck: <<: *healthcheck-defaults test: [ "CMD", "java", "-jar", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] + # Newly added minimal mobile-authentication service (converted from K8s deployment) +# mobile-authentication: +# image: repo.backbase.com/backbase-docker-releases/mobile-authentication:2025.08.5 +# ports: +# - "9080:8080" +# environment: +# <<: *common-variables +# BACKBASE_SECURITY_CSRF_ENABLED: "false" +# BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" +# EUREKA_CLIENT_ENABLED: "false" +# SPRING_LIQUIBASE_ENABLED: "false" +# SPRING_PROFILES_INCLUDE: json-logging +# SERVER_SHUTDOWN: graceful +# LOGGING_LEVEL_ROOT: INFO +# LOGGING_LEVEL_COM_BACKBASE: INFO +# JAVA_TOOL_OPTIONS: "-XX:MaxRAMPercentage=60.0 -Djava.security.egd=file:/dev/urandom" + + event-listener-service: + image: repo.backbase.com/backbase-docker-releases/event-listener-service:2023.01.1-0.27.0-RC2 + ports: + - "9082:8080" + environment: + <<: [ *common-variables, *message-broker-variables, *database-variables ] + BACKBASE_SECURITY_CSRF_ENABLED: "false" + BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" + LOGGING_LEVEL_COM_BACKBASE: "DEBUG" + LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: "WARN" + LOGGING_LEVEL_ROOT: "WARN" + SERVER_SHUTDOWN: "graceful" + SPRING_PROFILES_INCLUDE: "json-logging" + backbase.events.enabled: "true" + logging.level.com.backbase.buildingblocks.backend.security.auth.config.MtlsAuthenticationFilter: "WARN" + volumes: + - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar + healthcheck: + <<: *healthcheck-defaults + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] + depends_on: + mysql: + condition: service_healthy + links: + - activemq + - registry + + audit-service: + image: repo.backbase.com/backbase-docker-releases/audit-service:${BB_VERSION} + ports: + - "9081:8080" + environment: + <<: [ *common-variables, *message-broker-variables, *database-variables ] + BACKBASE_SECURITY_CSRF_ENABLED: "false" + BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" + LOGGING_LEVEL_COM_BACKBASE: "DEBUG" + LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: "WARN" + LOGGING_LEVEL_ROOT: "WARN" + SERVER_SHUTDOWN: "graceful" + backbase.audit.emitting-events-enabled: "true" + backbase.audit.indexedMetadata.userId: "User ID,External User ID,User,Username,Sender User ID,Recipient ID,Owner ID" + backbase.audit.timeline.eventCategories.no-read: "Identity and Access,Device Management,Message Center,Employee Actions,Comments,Payments,Employee,Push,Email,RTC,SMS,Card Management,Personal Finance Management,Identity User Management" + spring.datasource.url: "jdbc:mysql://mysql:3306/audit?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true" + volumes: + - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar + healthcheck: + <<: *healthcheck-defaults + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] + depends_on: + mysql: + condition: service_healthy + links: + - activemq + - registry + wiremock: image: wiremock/wiremock:2.32.0 profiles: @@ -610,21 +785,66 @@ services: - edge - backbase-identity - # : - # image: /: - # ports: - # - "8090:8080" - # environment: - # <<: *common-variables - # spring.application.name: "" - # eureka.client.enabled: 'true' - # volumes: - # - ./scripts/HealthCheck.jar:/tmp/HealthCheck.jar - # healthcheck: - # <<: *healthcheck-defaults - # test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] - # links: - # - registry + event-bridge: + image: repo.backbase.com/backbase-docker-releases/event-bridge:2025.09.7-LTS + ports: + - "9094:8090" + environment: + BACKBASE_ENABLE_NO_AUTH_LOCALHOST_ENDPOINTS: "true" + BACKBASE_SECURITY_CSRF_ENABLED: "false" + BACKBASE_SECURITY_MTLS_ENABLED: "false" + BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" + EUREKA_CLIENT_ENABLED: "false" + INSTALLATION: "reference" + JAVA_TOOL_OPTIONS: "-XX:MaxRAMPercentage=45 -Djava.security.egd=file:/dev/urandom -XX:+CrashOnOutOfMemoryError -XX:+AlwaysPreTouch -XX:InitialRAMPercentage=45 -XX:SurvivorRatio=30 -XX:NewRatio=1 -XX:C1MaxInlineLevel=18 -XX:C1MaxInlineSize=102 -XX:MaxInlineLevel=30 -XX:MaxInlineSize=102" + LOGGING_LEVEL_COM_BACKBASE: "WARN" + LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: "WARN" + LOGGING_LEVEL_ROOT: "WARN" + MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: "health,metrics,prometheus" + MANAGEMENT_METRICS_TAGS_APPLICATION: "event-bridge" + MANAGEMENT_SECURITY_ROLES: "ACTUATOR,USER" + RELEASE_NAME: "event-bridge" + SERVER_PORT: "8090" + SERVER_SHUTDOWN: "graceful" + SERVER_TOMCAT_MBEANREGISTRY_ENABLED: "true" + SPRING_LIQUIBASE_ENABLED: "false" + SPRING_MAIN_CLOUDPLATFORM: "KUBERNETES" + SPRING_PROFILES_INCLUDE: "json-logging" + backbase.lifecycle.delayed-shutdown.delay: "15s" + backbase.lifecycle.delayed-shutdown.enabled: "true" + management.metrics.distribution.percentiles: "0.95, 0.99, 1" + management.metrics.distribution.percentiles.domain.service: "0.95, 0.99, 1" + management.metrics.distribution.percentiles.hikaricp.connections: "0.95, 0.99, 1" + management.metrics.distribution.percentiles.http.client.requests: "0.95, 0.99, 1" + management.metrics.distribution.percentiles.http.server.requests: "0.95, 0.99, 1" + management.metrics.distribution.percentiles.spring.data.repository.invocations: "0.95, 0.99, 1" + management.metrics.distribution.sla.http.client.requests: "30ms,250ms,1000ms" + management.metrics.distribution.sla.http.server.requests: "30ms,250ms,1000ms" + management.security.roles: "ACTUATOR,USER" + resilience4j.bulkhead.metrics.enabled: "true" + resilience4j.bulkhead.metrics.legacy.enabled: "true" + resilience4j.circuitbreaker.metrics.enabled: "true" + resilience4j.circuitbreaker.metrics.legacy.enabled: "true" + resilience4j.ratelimiter.metrics.enabled: "true" + resilience4j.ratelimiter.metrics.legacy.enabled: "true" + resilience4j.retry.metrics.enabled: "true" + resilience4j.retry.metrics.legacy.enabled: "true" + resilience4j.thread-pool-bulkhead.metrics.enabled: "true" + resilience4j.thread-pool-bulkhead.metrics.legacy.enabled: "true" + resilience4j.timelimiter.metrics.enabled: "true" + resilience4j.timelimiter.metrics.legacy.enabled: "true" + spring.cloud.azure.eventhubs.kafka.enabled: "false" + spring.cloud.stream.binders.servicebus.environment.spring.main.sources: "com.azure.spring.cloud.stream.binder.servicebus.implementation.config.ServiceBusBinderConfiguration" + spring.lifecycle.timeout-per-shutdown-phase: "50s" + spring_cloud_stream_binders_servicebus_environment_spring_main_sources: "com.azure.spring.cloud.stream.binder.servicebus.implementation.config.ServiceBusBinderConfiguration" + volumes: + - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar + # - ./jwt/keystore_pub.p12:/jwt/public/keystore_pub.p12:ro # Uncomment if needed + healthcheck: + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/health/liveness" ] + interval: 15s + timeout: 5s + retries: 5 prometheus: image: prom/prometheus From 7d333eb144add6033ad103b77e5a7814107f8319 Mon Sep 17 00:00:00 2001 From: Olena Chubukina Date: Tue, 4 Nov 2025 17:20:05 +0100 Subject: [PATCH 2/9] CABOOSE-32 - adding arrangement-pull-integration --- development/docker-compose/.env | 3 +- .../docker-compose/docker-compose.yaml | 173 +++++++++++------- 2 files changed, 113 insertions(+), 63 deletions(-) diff --git a/development/docker-compose/.env b/development/docker-compose/.env index cb05a68..8c74771 100644 --- a/development/docker-compose/.env +++ b/development/docker-compose/.env @@ -1,2 +1,3 @@ BB_VERSION=2025.09-LTS -BOOTSTRAP_JOB_VERSION=2025.04 \ No newline at end of file +BOOTSTRAP_JOB_VERSION=2025.04 +EXTRA_JAVA_OPTS="-XX:UseSVE=0" \ No newline at end of file diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index 51db608..0088f4c 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -1,7 +1,8 @@ # https://docs.docker.com/compose/compose-file/ x-common-variables: &common-variables - JAVA_TOOL_OPTIONS: -XX:MaxRAMPercentage=60.0 + JAVA_TOOL_OPTIONS: -XX:MaxRAMPercentage=60.0 ${EXTRA_JAVA_OPTS} + JAVA_OPTS: ${EXTRA_JAVA_OPTS} USERCTX_KEY: JWTSecretKeyDontUseInProduction! sso.jwt.internal.signature.key.type: VALUE sso.jwt.internal.signature.key.value: JWTSecretKeyDontUseInProduction! @@ -41,6 +42,12 @@ x-common-variables: &common-variables spring.autoconfigure.exclude: org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration management.otlp.tracing.endpoint: http://otel-collector:4318/v1/traces +# Silicon specific variables for services which do not use common variables and still need to run on M4 chips +x-silicon-specific-variables: &silicon-specific-variables + JAVA_OPTS: ${EXTRA_JAVA_OPTS} + JAVA_OPTS_APPEND: ${EXTRA_JAVA_OPTS} + JAVA_TOOL_OPTIONS: ${EXTRA_JAVA_OPTS} + x-database-variables: &database-variables logging.level.liquibase: INFO spring.liquibase.enabled: true @@ -83,6 +90,31 @@ x-gc-credentials: &gc-credentials backbase.gc.loan-base-url: "http://caboose:8080" backbase.gc.subscriptionKey: "" +x-mambu-creds: &mambu-creds + mambu.basePath: "http://caboose:8080/api/mambu/v2" + mambu.baseUrl: "http://caboose:8080/api/mambu/v2" + mambu.branchId: "" + mambu.branchKey: "" + mambu.username: "mock" + mambu.password: "mock" + mambu.ghostAccountId: "ZQGS770" + mambu.ghostAccountIds.USD: "ZQGS770" + mambu.ghostAccountIds.EUR: "ZQGS771" + mambu.pocketProductKey: "8a19d8937a753ef9017a76d183eb3a6c" + mambu.transactionsBeneficiaryAccountKey: "ZQGS770" + mambu.transactionsBeneficiaryAccountKeys.USD: "ZQGS770" + mambu.transactionsBeneficiaryAccountKeys.EUR: "ZQGS771" + mambu.currentAccountProductKeys.USD: "pr-current-account-usd" + mambu.currentAccountProductKeys.EUR: "pr-current-account-eur" + mambu.savingsAccountProductKeys.USD: "pr-saving-account-usd" + mambu.savingsAccountProductKeys.EUR: "pr-saving-account-eur" + mambu.line-of-credit-product-keys.USD: "pr-saving-account-usd" + mambu.line-of-credit-product-keys.EUR: "pr-saving-account-eur" + mambu.term-loan-product-keys.USD: "pr-term-loan-usd" + mambu.term-loan-product-keys.EUR: "pr-term-loan-eur" + mambu.mortgage-product-keys.USD: "pr-mortgage-usd" + mambu.mortgage-product-keys.EUR: "pr-mortgage-eur" + name: backbase volumes: @@ -147,6 +179,7 @@ services: ports: - "8761:8080" environment: + <<: *silicon-specific-variables management.tracing.enabled: false volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar @@ -199,7 +232,7 @@ services: ports: - '8180:8080' environment: - <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config] + <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config, *silicon-specific-variables] KEYCLOAK_ADMIN: "admin" KEYCLOAK_ADMIN_PASSWORD: "admin" BACKBASE_HTTP_CORS: "true" @@ -220,11 +253,12 @@ services: KC_SPI_CONNECTIONS_JPA_LEGACY_MIGRATION_STRATEGY: "update" keycloak.backbase.event-listeners.audit.endpoint: "http://audit-service:8080" KC_SPI_EVENTS_LISTENER_AUDIT_INTEGRATION_SERVICE_URL: "http://audit-service:8080" - KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_NO_AUTH_LOCALHOST: "true" - KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://localhost:8090" + KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_NO_AUTH_LOCALHOST: "false" + KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://event-bridge:8090" # KC_SPI_MOBILE_AUTHENTICATION_CLIENT_DEFAULT_URL: "http://mobile-authentication:8080" JAVA_TOOL_OPTIONS: "-Dquarkus.log.category.'\"com.backbase\"'.level=DEBUG \ - -Dquarkus.log.category.'\"org.keycloak.protocol.oidc\"'.level=TRACE" + -Dquarkus.log.category.'\"org.keycloak.protocol.oidc\"'.level=TRACE \ + ${EXTRA_JAVA_OPTS}" volumes: - ./identity:/opt/keycloak/data/import - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar @@ -236,7 +270,7 @@ services: condition: service_healthy access-control: - image: repo.backbase.com/backbase-docker-releases/access-control:${BB_VERSION} + image: repo.backbase.com/backbase-docker-releases/access-control:2025.09-LTS ports: - "8040:8080" environment: @@ -516,7 +550,6 @@ services: backbase.users.identity-endpoints-enabled: true backbase.users.identity-integration-enabled: true backbase.users.sync-primary-to-identity-enabled: true - spring.cloud.discovery.client.simple.instances.user-integration-outbound-service[0].uri: http://wiremock:8080 backbase.users.realms[0].realm-name: "employee" backbase.users.realms[1].realm-name: "retail" backbase.users.realms[2].realm-name: "business" @@ -552,7 +585,7 @@ services: - registry bootstrap-job: - image: bootstrap-job/development/bootstrap-job:20251007 + image: bootstrap-job/development/bootstrap-job:202510291 profiles: - bootstrap environment: @@ -633,14 +666,15 @@ services: condition: service_healthy caboose: - image: caboose-spring/development/caboose-spring:202510074 + image: crreference914.azurecr.io/development/caboose-spring:2.1.0-SNAPSHOT-20251104144125 ports: - "9001:8080" + #- "5005:5005" environment: <<: [*common-variables] SPRING_PROFILES_ACTIVE: local server.port: 8080 - + #JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar healthcheck: @@ -719,6 +753,62 @@ services: - activemq - registry + arrangement-pull-integration: + image: crreference914.azurecr.io/arrangement-pull-integration-service:2.6.0 + ports: + - "9052:8080" + environment: + <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config, *database-variables, *mambu-creds ] + spring.application.name: "arrangement-pull-integration" + spring.datasource.url: jdbc:mysql://mysql:3306/arrangement-pull-integration-service?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true + eureka.instance.appname: arrangement-pull-integration + logging.level.root: INFO + logging.level.org.springframework.web.client.RestTemplate: INFO + "backbase.communication.http.client-id": "bb-client" + "backbase.communication.http.client-secret": "bb-secret" + "enableExperimentalUniversalSupport": "true" + "SPRING_PROFILES_INCLUDE": "" + "backbase.stream.legalentity.sink.serviceAgreementPurposes": "FAMILY_BANKING" + volumes: + - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar + healthcheck: + <<: *healthcheck-defaults + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] + depends_on: + mysql: + condition: service_healthy + links: + - activemq + - registry + + transaction-pull-integration: + image: crreference914.azurecr.io/transaction-pull-integration-service:1.9.0 + ports: + - "9053:8080" + environment: + <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config, *database-variables, *mambu-creds ] + spring.application.name: "transaction-pull-integration" + spring.datasource.url: jdbc:mysql://mysql:3306/transaction-pull-integration-service?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true + eureka.instance.appname: transaction-pull-integration + logging.level.root: INFO + logging.level.org.springframework.web.client.RestTemplate: INFO + "backbase.communication.http.client-id": "bb-client" + "backbase.communication.http.client-secret": "bb-secret" + "enableExperimentalUniversalSupport": "true" + "SPRING_PROFILES_INCLUDE": "" + "backbase.stream.legalentity.sink.serviceAgreementPurposes": "FAMILY_BANKING" + volumes: + - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar + healthcheck: + <<: *healthcheck-defaults + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] + depends_on: + mysql: + condition: service_healthy + links: + - activemq + - registry + wiremock: image: wiremock/wiremock:2.32.0 profiles: @@ -788,63 +878,22 @@ services: event-bridge: image: repo.backbase.com/backbase-docker-releases/event-bridge:2025.09.7-LTS ports: - - "9094:8090" + - "8090:8090" environment: - BACKBASE_ENABLE_NO_AUTH_LOCALHOST_ENDPOINTS: "true" - BACKBASE_SECURITY_CSRF_ENABLED: "false" - BACKBASE_SECURITY_MTLS_ENABLED: "false" + <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config] + backbase.enable-no-auth-localhost-endpoints: false + "BACKBASE_EVENTS_ENABLED": "true" + SERVER_PORT: 8090 BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" - EUREKA_CLIENT_ENABLED: "false" - INSTALLATION: "reference" - JAVA_TOOL_OPTIONS: "-XX:MaxRAMPercentage=45 -Djava.security.egd=file:/dev/urandom -XX:+CrashOnOutOfMemoryError -XX:+AlwaysPreTouch -XX:InitialRAMPercentage=45 -XX:SurvivorRatio=30 -XX:NewRatio=1 -XX:C1MaxInlineLevel=18 -XX:C1MaxInlineSize=102 -XX:MaxInlineLevel=30 -XX:MaxInlineSize=102" - LOGGING_LEVEL_COM_BACKBASE: "WARN" - LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: "WARN" - LOGGING_LEVEL_ROOT: "WARN" - MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: "health,metrics,prometheus" - MANAGEMENT_METRICS_TAGS_APPLICATION: "event-bridge" - MANAGEMENT_SECURITY_ROLES: "ACTUATOR,USER" - RELEASE_NAME: "event-bridge" - SERVER_PORT: "8090" - SERVER_SHUTDOWN: "graceful" - SERVER_TOMCAT_MBEANREGISTRY_ENABLED: "true" - SPRING_LIQUIBASE_ENABLED: "false" - SPRING_MAIN_CLOUDPLATFORM: "KUBERNETES" - SPRING_PROFILES_INCLUDE: "json-logging" - backbase.lifecycle.delayed-shutdown.delay: "15s" - backbase.lifecycle.delayed-shutdown.enabled: "true" - management.metrics.distribution.percentiles: "0.95, 0.99, 1" - management.metrics.distribution.percentiles.domain.service: "0.95, 0.99, 1" - management.metrics.distribution.percentiles.hikaricp.connections: "0.95, 0.99, 1" - management.metrics.distribution.percentiles.http.client.requests: "0.95, 0.99, 1" - management.metrics.distribution.percentiles.http.server.requests: "0.95, 0.99, 1" - management.metrics.distribution.percentiles.spring.data.repository.invocations: "0.95, 0.99, 1" - management.metrics.distribution.sla.http.client.requests: "30ms,250ms,1000ms" - management.metrics.distribution.sla.http.server.requests: "30ms,250ms,1000ms" - management.security.roles: "ACTUATOR,USER" - resilience4j.bulkhead.metrics.enabled: "true" - resilience4j.bulkhead.metrics.legacy.enabled: "true" - resilience4j.circuitbreaker.metrics.enabled: "true" - resilience4j.circuitbreaker.metrics.legacy.enabled: "true" - resilience4j.ratelimiter.metrics.enabled: "true" - resilience4j.ratelimiter.metrics.legacy.enabled: "true" - resilience4j.retry.metrics.enabled: "true" - resilience4j.retry.metrics.legacy.enabled: "true" - resilience4j.thread-pool-bulkhead.metrics.enabled: "true" - resilience4j.thread-pool-bulkhead.metrics.legacy.enabled: "true" - resilience4j.timelimiter.metrics.enabled: "true" - resilience4j.timelimiter.metrics.legacy.enabled: "true" - spring.cloud.azure.eventhubs.kafka.enabled: "false" - spring.cloud.stream.binders.servicebus.environment.spring.main.sources: "com.azure.spring.cloud.stream.binder.servicebus.implementation.config.ServiceBusBinderConfiguration" - spring.lifecycle.timeout-per-shutdown-phase: "50s" - spring_cloud_stream_binders_servicebus_environment_spring_main_sources: "com.azure.spring.cloud.stream.binder.servicebus.implementation.config.ServiceBusBinderConfiguration" + "backbase.security.csrf.enabled": "false" + "backbase.security.mtls.enabled": "false" + volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar # - ./jwt/keystore_pub.p12:/jwt/public/keystore_pub.p12:ro # Uncomment if needed - healthcheck: - test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/health/liveness" ] - interval: 15s - timeout: 5s - retries: 5 + links: + - activemq + - registry prometheus: image: prom/prometheus From 732d857722e0dbd81599a24801b09dd1982f1b47 Mon Sep 17 00:00:00 2001 From: Olena Chubukina Date: Tue, 4 Nov 2025 18:57:50 +0100 Subject: [PATCH 3/9] CABOOSE-32 - fixing event-listener fetching transactions --- development/docker-compose/docker-compose.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index 0088f4c..6f576fa 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -424,7 +424,8 @@ services: ports: - "8052:8080" environment: - <<: [ *common-variables, *message-broker-variables, *database-variables ] + <<: [ *common-variables, *message-broker-variables, *database-variables, *mambu-creds ] + spring.application.name: "transaction-manager" spring.datasource.url: jdbc:mysql://mysql:3306/transaction-manager?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true "backbase.communication.http.autowire-object-mapper": "true" "backbase.security.csrf.enabled": "false" @@ -666,7 +667,7 @@ services: condition: service_healthy caboose: - image: crreference914.azurecr.io/development/caboose-spring:2.1.0-SNAPSHOT-20251104144125 + image: crreference914.azurecr.io/development/caboose-spring:2.1.0-SNAPSHOT-20251104164312 ports: - "9001:8080" #- "5005:5005" @@ -699,9 +700,10 @@ services: # JAVA_TOOL_OPTIONS: "-XX:MaxRAMPercentage=60.0 -Djava.security.egd=file:/dev/urandom" event-listener-service: - image: repo.backbase.com/backbase-docker-releases/event-listener-service:2023.01.1-0.27.0-RC2 + image: crreference914.azurecr.io/event-listener-service:1.10.0 ports: - "9082:8080" + - "5005:5005" environment: <<: [ *common-variables, *message-broker-variables, *database-variables ] BACKBASE_SECURITY_CSRF_ENABLED: "false" @@ -713,6 +715,7 @@ services: SPRING_PROFILES_INCLUDE: "json-logging" backbase.events.enabled: "true" logging.level.com.backbase.buildingblocks.backend.security.auth.config.MtlsAuthenticationFilter: "WARN" + JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar healthcheck: From 18b7265251b4b98b7f4a594dd291fb6ed341e43e Mon Sep 17 00:00:00 2001 From: Olena Chubukina Date: Tue, 4 Nov 2025 20:31:45 +0100 Subject: [PATCH 4/9] CABOOSE-32 - added ghost account in bootstrap --- development/docker-compose/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index 6f576fa..5f42229 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -586,7 +586,7 @@ services: - registry bootstrap-job: - image: bootstrap-job/development/bootstrap-job:202510291 + image: crreference914.azurecr.io/development/bootstrap-job:4.0.0-SNAPSHOT-20251104192143 profiles: - bootstrap environment: From b9825bbeacbe92d61a1723928a7fe67ab12a5f59 Mon Sep 17 00:00:00 2001 From: Eduardo Alvim de Carvalho Date: Wed, 12 Nov 2025 11:55:01 +0100 Subject: [PATCH 5/9] Caboose 32: Small refactoring and alignment in version (#36) * CABOOSE-32: Upgrading the versions and small refactor * CABOOSE-32: Refactor docker-compose configuration for event listener and event bridge * CABOOSE-32: Update mambu.branchKey to use mock value in docker-compose configuration * CABOOSE-109: Refactor docker-compose configuration to update base URLs for API endpoints * CABOOSE-109: Update caboose image to use staging tag in docker-compose configuration * CABOOSE-109: Update caboose image to use staging tag in docker-compose configuration * CABOOSE-32 - fix the port in event bridge reference --------- Co-authored-by: Eduardo Alvim de Carvalho Co-authored-by: Olena Chubukina --- development/docker-compose/.env | 5 +- .../docker-compose/docker-compose.yaml | 63 +++++++++---------- 2 files changed, 31 insertions(+), 37 deletions(-) diff --git a/development/docker-compose/.env b/development/docker-compose/.env index 8c74771..dea6e8f 100644 --- a/development/docker-compose/.env +++ b/development/docker-compose/.env @@ -1,3 +1,2 @@ -BB_VERSION=2025.09-LTS -BOOTSTRAP_JOB_VERSION=2025.04 -EXTRA_JAVA_OPTS="-XX:UseSVE=0" \ No newline at end of file +BB_VERSION=2025.09.17-LTS +BOOTSTRAP_JOB_VERSION=2025.04 \ No newline at end of file diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index 5f42229..5ad7d76 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -1,8 +1,7 @@ # https://docs.docker.com/compose/compose-file/ x-common-variables: &common-variables - JAVA_TOOL_OPTIONS: -XX:MaxRAMPercentage=60.0 ${EXTRA_JAVA_OPTS} - JAVA_OPTS: ${EXTRA_JAVA_OPTS} + JAVA_TOOL_OPTIONS: -XX:MaxRAMPercentage=60.0 USERCTX_KEY: JWTSecretKeyDontUseInProduction! sso.jwt.internal.signature.key.type: VALUE sso.jwt.internal.signature.key.value: JWTSecretKeyDontUseInProduction! @@ -42,12 +41,6 @@ x-common-variables: &common-variables spring.autoconfigure.exclude: org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration management.otlp.tracing.endpoint: http://otel-collector:4318/v1/traces -# Silicon specific variables for services which do not use common variables and still need to run on M4 chips -x-silicon-specific-variables: &silicon-specific-variables - JAVA_OPTS: ${EXTRA_JAVA_OPTS} - JAVA_OPTS_APPEND: ${EXTRA_JAVA_OPTS} - JAVA_TOOL_OPTIONS: ${EXTRA_JAVA_OPTS} - x-database-variables: &database-variables logging.level.liquibase: INFO spring.liquibase.enabled: true @@ -84,17 +77,17 @@ x-gc-http-config: &gc-http-config "backbase.gc.http.backoff": "1000" x-gc-credentials: &gc-credentials - backbase.gc.party-base-url: "http://caboose:8080" - backbase.gc.payment-base-url: "http://caboose:8080" - backbase.gc.deposit-base-url: "http://caboose:8080" - backbase.gc.loan-base-url: "http://caboose:8080" + backbase.gc.party-base-url: "http://caboose:8080/api" + backbase.gc.payment-base-url: "http://caboose:8080/api" + backbase.gc.deposit-base-url: "http://caboose:8080/api" + backbase.gc.loan-base-url: "http://caboose:8080/api" backbase.gc.subscriptionKey: "" x-mambu-creds: &mambu-creds mambu.basePath: "http://caboose:8080/api/mambu/v2" mambu.baseUrl: "http://caboose:8080/api/mambu/v2" mambu.branchId: "" - mambu.branchKey: "" + mambu.branchKey: "mock" mambu.username: "mock" mambu.password: "mock" mambu.ghostAccountId: "ZQGS770" @@ -146,6 +139,7 @@ services: interval: 10s timeout: 5s retries: 5 + zipkin: image: openzipkin/zipkin container_name: zipkin @@ -155,6 +149,7 @@ services: - STORAGE_TYPE=mem ports: - "9411:9411" + otel-collector: image: otel/opentelemetry-collector-contrib:0.82.0 restart: always @@ -174,12 +169,12 @@ services: - "55679:55679" # zpages extension depends_on: - zipkin + registry: image: repo.backbase.com/backbase-docker-releases/registry:${BB_VERSION} ports: - "8761:8080" environment: - <<: *silicon-specific-variables management.tracing.enabled: false volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar @@ -232,7 +227,7 @@ services: ports: - '8180:8080' environment: - <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config, *silicon-specific-variables] + <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config] KEYCLOAK_ADMIN: "admin" KEYCLOAK_ADMIN_PASSWORD: "admin" BACKBASE_HTTP_CORS: "true" @@ -254,11 +249,10 @@ services: keycloak.backbase.event-listeners.audit.endpoint: "http://audit-service:8080" KC_SPI_EVENTS_LISTENER_AUDIT_INTEGRATION_SERVICE_URL: "http://audit-service:8080" KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_NO_AUTH_LOCALHOST: "false" - KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://event-bridge:8090" + KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://event-bridge:8080" # KC_SPI_MOBILE_AUTHENTICATION_CLIENT_DEFAULT_URL: "http://mobile-authentication:8080" JAVA_TOOL_OPTIONS: "-Dquarkus.log.category.'\"com.backbase\"'.level=DEBUG \ - -Dquarkus.log.category.'\"org.keycloak.protocol.oidc\"'.level=TRACE \ - ${EXTRA_JAVA_OPTS}" + -Dquarkus.log.category.'\"org.keycloak.protocol.oidc\"'.level=TRACE" volumes: - ./identity:/opt/keycloak/data/import - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar @@ -270,7 +264,7 @@ services: condition: service_healthy access-control: - image: repo.backbase.com/backbase-docker-releases/access-control:2025.09-LTS + image: repo.backbase.com/backbase-docker-releases/access-control:${BB_VERSION} ports: - "8040:8080" environment: @@ -420,7 +414,7 @@ services: - registry transaction-manager: - image: repo.backbase.com/backbase-docker-releases/transaction-manager:2025.08.5 + image: repo.backbase.com/backbase-docker-releases/transaction-manager:${BB_VERSION} ports: - "8052:8080" environment: @@ -461,7 +455,6 @@ services: "backbase.transaction.export.qbo.supportedProductTypes": "current-account,savings-account,loan,debit-card,credit-card" "backbase.transaction.export.qfx.supportedProductTypes": "current-account,savings-account,loan,debit-card,credit-card" "backbase.transaction.partition.bookingDateSearchMaxDateRange": "91" - volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar healthcheck: @@ -475,7 +468,7 @@ services: - registry transaction-integration: - image: repo.backbase.com/backbase-docker-releases/transaction-integration:2025.08.5 + image: repo.backbase.com/backbase-docker-releases/transaction-integration:${BB_VERSION} ports: - "9051:8080" environment: @@ -608,7 +601,7 @@ services: backbase.bootstrap.ingestions.approvals.enabled: false backbase.bootstrap.ingestions.regions.enabled: false backbase.bootstrap.ingestions.cards: false - caboose.baseUrl: "http://caboose-spring:8080" + caboose.baseUrl: "http://caboose:8080/api" backbase.communication.services.access-control.directUri: http://access-control:8080 backbase.communication.services.limit.directUri: http://limits-service:8080 backbase.communication.services.usermanager.directUri: http://user-manager:8080 @@ -667,14 +660,13 @@ services: condition: service_healthy caboose: - image: crreference914.azurecr.io/development/caboose-spring:2.1.0-SNAPSHOT-20251104164312 + image: crreference914.azurecr.io/staging/caboose:2.1.0-SNAPSHOT-20251111125607 ports: - "9001:8080" #- "5005:5005" environment: - <<: [*common-variables] - SPRING_PROFILES_ACTIVE: local - server.port: 8080 + <<: [*common-variables, *database-variables] + spring.datasource.url: jdbc:mysql://mysql:3306/caboose?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true #JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar @@ -703,7 +695,7 @@ services: image: crreference914.azurecr.io/event-listener-service:1.10.0 ports: - "9082:8080" - - "5005:5005" +# - "5005:5005" environment: <<: [ *common-variables, *message-broker-variables, *database-variables ] BACKBASE_SECURITY_CSRF_ENABLED: "false" @@ -715,7 +707,7 @@ services: SPRING_PROFILES_INCLUDE: "json-logging" backbase.events.enabled: "true" logging.level.com.backbase.buildingblocks.backend.security.auth.config.MtlsAuthenticationFilter: "WARN" - JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" +# JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar healthcheck: @@ -844,7 +836,8 @@ services: condition: service_healthy retail-app: - image: crreference914.azurecr.io/retail-usa:2025.07 + image: crreference914.azurecr.io/retail-usa:2025.07.3 +# image: backbaseregistry.azurecr.io/docker/retail-usa:2025.10-rc.0-20251107T0855Z-10d7a5e environment: AUTH_REALM: "retail" AUTH_URL: http://localhost:8180/auth/ @@ -879,21 +872,23 @@ services: - backbase-identity event-bridge: - image: repo.backbase.com/backbase-docker-releases/event-bridge:2025.09.7-LTS + image: repo.backbase.com/backbase-docker-releases/event-bridge:${BB_VERSION} ports: - - "8090:8090" + - "8090:8080" environment: <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config] backbase.enable-no-auth-localhost-endpoints: false "BACKBASE_EVENTS_ENABLED": "true" - SERVER_PORT: 8090 + SERVER_PORT: 8080 BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" "backbase.security.csrf.enabled": "false" "backbase.security.mtls.enabled": "false" - volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar # - ./jwt/keystore_pub.p12:/jwt/public/keystore_pub.p12:ro # Uncomment if needed + healthcheck: + <<: *healthcheck-defaults + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] links: - activemq - registry From be8ff9030c1ab83e6419e54317c8aaf81b53a642 Mon Sep 17 00:00:00 2001 From: Elena Chubukina Date: Wed, 19 Nov 2025 13:15:39 +0100 Subject: [PATCH 6/9] fixed the incorrect product type mapping --- development/docker-compose/docker-compose.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index 5ad7d76..c9ad043 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -101,8 +101,8 @@ x-mambu-creds: &mambu-creds mambu.currentAccountProductKeys.EUR: "pr-current-account-eur" mambu.savingsAccountProductKeys.USD: "pr-saving-account-usd" mambu.savingsAccountProductKeys.EUR: "pr-saving-account-eur" - mambu.line-of-credit-product-keys.USD: "pr-saving-account-usd" - mambu.line-of-credit-product-keys.EUR: "pr-saving-account-eur" + mambu.line-of-credit-product-keys.USD: "pr-line-of-credit-usd" + mambu.line-of-credit-product-keys.EUR: "pr-line-of-credit-eur" mambu.term-loan-product-keys.USD: "pr-term-loan-usd" mambu.term-loan-product-keys.EUR: "pr-term-loan-eur" mambu.mortgage-product-keys.USD: "pr-mortgage-usd" From cfd63302dcff68bc9d7babb8d60a553872fbe9d8 Mon Sep 17 00:00:00 2001 From: Olena Chubukina Date: Thu, 8 Jan 2026 02:27:02 +0100 Subject: [PATCH 7/9] CABOOSE-32 - update latest BSJ and caboose --- .../docker-compose/docker-compose.yaml | 76 +++++++++++++------ 1 file changed, 54 insertions(+), 22 deletions(-) diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index c9ad043..637eb9f 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -29,8 +29,8 @@ x-common-variables: &common-variables backbase.security.public.paths: /integration-api/** backbase.security.mtls.enabled: false backbase.http.request-logging-filter.max-payload-length: 5000 - logging.level.com.backbase: DEBUG - logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter: DEBUG + logging.level.com.backbase: INFO + logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter: INFO # Observability - Tracing Configuration management.tracing.enabled: false management.tracing.propagation.type: w3c @@ -87,7 +87,7 @@ x-mambu-creds: &mambu-creds mambu.basePath: "http://caboose:8080/api/mambu/v2" mambu.baseUrl: "http://caboose:8080/api/mambu/v2" mambu.branchId: "" - mambu.branchKey: "mock" + mambu.branchKey: "" mambu.username: "mock" mambu.password: "mock" mambu.ghostAccountId: "ZQGS770" @@ -249,10 +249,11 @@ services: keycloak.backbase.event-listeners.audit.endpoint: "http://audit-service:8080" KC_SPI_EVENTS_LISTENER_AUDIT_INTEGRATION_SERVICE_URL: "http://audit-service:8080" KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_NO_AUTH_LOCALHOST: "false" - KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://event-bridge:8080" + KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://event-bridge:8090" # KC_SPI_MOBILE_AUTHENTICATION_CLIENT_DEFAULT_URL: "http://mobile-authentication:8080" JAVA_TOOL_OPTIONS: "-Dquarkus.log.category.'\"com.backbase\"'.level=DEBUG \ - -Dquarkus.log.category.'\"org.keycloak.protocol.oidc\"'.level=TRACE" + -Dquarkus.log.category.'\"org.keycloak.protocol.oidc\"'.level=TRACE \ + ${EXTRA_JAVA_OPTS}" volumes: - ./identity:/opt/keycloak/data/import - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar @@ -579,12 +580,12 @@ services: - registry bootstrap-job: - image: crreference914.azurecr.io/development/bootstrap-job:4.0.0-SNAPSHOT-20251104192143 + image: crreference914.azurecr.io/stable/bootstrap-job:4.4.0 profiles: - bootstrap environment: <<: *common-variables - backbase.bootstrap.data.active-data-sets: minimal-base + backbase.bootstrap.data.active-data-sets: caboose-data, cb-base, cb-retail-usa, cb-business-usa, minimal-transactions backbase.bootstrap.identity.admin-realm: employee backbase.bootstrap.identity.admin-username: admin backbase.bootstrap.identity.master-admin-password: admin @@ -601,6 +602,9 @@ services: backbase.bootstrap.ingestions.approvals.enabled: false backbase.bootstrap.ingestions.regions.enabled: false backbase.bootstrap.ingestions.cards: false + backbase.bootstrap.ingestions.currency-exchange-rate.enabled: true + backbase.bootstrap.ingestions.holidays.enabled: true + backbase.stream.contact.worker.continueOnError: true caboose.baseUrl: "http://caboose:8080/api" backbase.communication.services.access-control.directUri: http://access-control:8080 backbase.communication.services.limit.directUri: http://limits-service:8080 @@ -634,8 +638,8 @@ services: caboose.currentAccountProductKeys.EUR: pr-current-account-eur caboose.savingsAccountProductKeys.USD: pr-saving-account-usd caboose.savingsAccountProductKeys.EUR: pr-saving-account-eur - caboose.line-of-credit-product-keys.USD: pr-saving-account-usd - caboose.line-of-credit-product-keys.EUR: pr-saving-account-eur + caboose.line-of-credit-product-keys.USD: pr-line-of-credit-usd + caboose.line-of-credit-product-keys.EUR: pr-line-of-credit-eur caboose.term-loan-product-keys.USD: pr-term-loan-usd caboose.term-loan-product-keys.EUR: pr-term-loan-eur caboose.mortgage-product-keys.USD: pr-mortgage-usd @@ -659,14 +663,47 @@ services: caboose: condition: service_healthy + balance-history-event-publisher: + image: crreference914.azurecr.io/balance-history-event-publisher:2.0.0 + ports: + - "9083:8080" + environment: + <<: [ *common-variables, *message-broker-variables, *database-variables, *mambu-creds ] + spring.application.name: "balance-history-event-publisher" + spring.datasource.url: jdbc:mysql://mysql:3306/balance-history-event-publisher?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true + BACKBASE_SECURITY_CSRF_ENABLED: "false" + BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" + LOGGING_LEVEL_COM_BACKBASE: "WARN" + LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: "WARN" + LOGGING_LEVEL_ROOT: "WARN" + SERVER_SHUTDOWN: "graceful" + SPRING_PROFILES_INCLUDE: "json-logging" + webhook.username: "mock" + webhook.password: "mock" + volumes: + - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar + healthcheck: + <<: *healthcheck-defaults + test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] + depends_on: + mysql: + condition: service_healthy + links: + - activemq + - registry + caboose: - image: crreference914.azurecr.io/staging/caboose:2.1.0-SNAPSHOT-20251111125607 + image: backbaseregistry.azurecr.io/docker/caboose:f839a8c ports: - "9001:8080" #- "5005:5005" environment: - <<: [*common-variables, *database-variables] - spring.datasource.url: jdbc:mysql://mysql:3306/caboose?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true + <<: [*common-variables] + SPRING_PROFILES_ACTIVE: local + server.port: 8080 + caboose.webhook.balance-history.url: http://balance-history-event-publisher:8080/webhook + caboose.webhook.balance-history.username: "mock" + caboose.webhook.balance-history.password: "mock" #JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar @@ -695,19 +732,16 @@ services: image: crreference914.azurecr.io/event-listener-service:1.10.0 ports: - "9082:8080" -# - "5005:5005" + - "5005:5005" environment: <<: [ *common-variables, *message-broker-variables, *database-variables ] BACKBASE_SECURITY_CSRF_ENABLED: "false" BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" - LOGGING_LEVEL_COM_BACKBASE: "DEBUG" - LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: "WARN" - LOGGING_LEVEL_ROOT: "WARN" SERVER_SHUTDOWN: "graceful" SPRING_PROFILES_INCLUDE: "json-logging" backbase.events.enabled: "true" logging.level.com.backbase.buildingblocks.backend.security.auth.config.MtlsAuthenticationFilter: "WARN" -# JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" + JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar healthcheck: @@ -874,21 +908,19 @@ services: event-bridge: image: repo.backbase.com/backbase-docker-releases/event-bridge:${BB_VERSION} ports: - - "8090:8080" + - "8090:8090" environment: <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config] backbase.enable-no-auth-localhost-endpoints: false "BACKBASE_EVENTS_ENABLED": "true" - SERVER_PORT: 8080 + SERVER_PORT: 8090 BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" "backbase.security.csrf.enabled": "false" "backbase.security.mtls.enabled": "false" + volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar # - ./jwt/keystore_pub.p12:/jwt/public/keystore_pub.p12:ro # Uncomment if needed - healthcheck: - <<: *healthcheck-defaults - test: [ "CMD", "java", "-jar", "-Xms5M", "-Xmx10M", "/tmp/HealthCheck.jar", "http://localhost:8080/actuator/serviceregistry" ] links: - activemq - registry From 04ff570feb7cde3ab4d2368122109d90280ac083 Mon Sep 17 00:00:00 2001 From: Olena Chubukina Date: Fri, 9 Jan 2026 14:04:28 +0100 Subject: [PATCH 8/9] CABOOSE-32 - update latest BSJ and caboose --- development/docker-compose/docker-compose.yaml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index 637eb9f..7cfc7f3 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -249,7 +249,7 @@ services: keycloak.backbase.event-listeners.audit.endpoint: "http://audit-service:8080" KC_SPI_EVENTS_LISTENER_AUDIT_INTEGRATION_SERVICE_URL: "http://audit-service:8080" KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_NO_AUTH_LOCALHOST: "false" - KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://event-bridge:8090" + KC_SPI_EVENTS_LISTENER_EVENT_BRIDGE_AUDIT_URL: "http://event-bridge:8080" # KC_SPI_MOBILE_AUTHENTICATION_CLIENT_DEFAULT_URL: "http://mobile-authentication:8080" JAVA_TOOL_OPTIONS: "-Dquarkus.log.category.'\"com.backbase\"'.level=DEBUG \ -Dquarkus.log.category.'\"org.keycloak.protocol.oidc\"'.level=TRACE \ @@ -699,8 +699,8 @@ services: #- "5005:5005" environment: <<: [*common-variables] - SPRING_PROFILES_ACTIVE: local - server.port: 8080 + <<: [*common-variables, *database-variables] + spring.datasource.url: jdbc:mysql://mysql:3306/caboose?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true caboose.webhook.balance-history.url: http://balance-history-event-publisher:8080/webhook caboose.webhook.balance-history.username: "mock" caboose.webhook.balance-history.password: "mock" @@ -732,7 +732,7 @@ services: image: crreference914.azurecr.io/event-listener-service:1.10.0 ports: - "9082:8080" - - "5005:5005" + #- "5005:5005" environment: <<: [ *common-variables, *message-broker-variables, *database-variables ] BACKBASE_SECURITY_CSRF_ENABLED: "false" @@ -741,7 +741,7 @@ services: SPRING_PROFILES_INCLUDE: "json-logging" backbase.events.enabled: "true" logging.level.com.backbase.buildingblocks.backend.security.auth.config.MtlsAuthenticationFilter: "WARN" - JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" + #JAVA_TOOL_OPTIONS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar healthcheck: @@ -908,16 +908,15 @@ services: event-bridge: image: repo.backbase.com/backbase-docker-releases/event-bridge:${BB_VERSION} ports: - - "8090:8090" + - "8090:8080" environment: <<: [ *common-variables, *message-broker-variables, *gc-credentials, *gc-api-config, *gc-http-config] backbase.enable-no-auth-localhost-endpoints: false "BACKBASE_EVENTS_ENABLED": "true" - SERVER_PORT: 8090 + SERVER_PORT: 8080 BUILDINGBLOCKS_SECURITY_CSRF_ENABLED: "false" "backbase.security.csrf.enabled": "false" "backbase.security.mtls.enabled": "false" - volumes: - ./exe/HealthCheck.jar:/tmp/HealthCheck.jar # - ./jwt/keystore_pub.p12:/jwt/public/keystore_pub.p12:ro # Uncomment if needed From adcd271213eb303e7efecf981ad3610912ac7c8e Mon Sep 17 00:00:00 2001 From: Olena Chubukina Date: Fri, 9 Jan 2026 14:05:13 +0100 Subject: [PATCH 9/9] CABOOSE-32 - update latest BSJ and caboose --- development/docker-compose/docker-compose.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/development/docker-compose/docker-compose.yaml b/development/docker-compose/docker-compose.yaml index 7cfc7f3..221a986 100644 --- a/development/docker-compose/docker-compose.yaml +++ b/development/docker-compose/docker-compose.yaml @@ -698,7 +698,6 @@ services: - "9001:8080" #- "5005:5005" environment: - <<: [*common-variables] <<: [*common-variables, *database-variables] spring.datasource.url: jdbc:mysql://mysql:3306/caboose?useSSL=false&allowPublicKeyRetrieval=true&cacheServerConfiguration=true&createDatabaseIfNotExist=true caboose.webhook.balance-history.url: http://balance-history-event-publisher:8080/webhook