[ 05 ] · Log

ACTIVITY
LOG.

A running record of work done — feature additions, fixes, refactors, and infrastructure changes tracked daily or weekly.

September 2026

Admin Kafka Admin API complete + common/BOM 2.0.2

2026-09-14 · 18:00

Finished KafkaAdminController in admin-service: POST /api/admin/topics (create) and GET /api/admin/topics/describe alongside listing, backed by lazy AdminClientManager, TopicListing/TopicDescription mappers, 5s timeouts, and ResponseDto success envelope with TopicCreationException (TOPIC_CREATION_FAILED_400) on failure. Shipped arya-banking-common 2.0.2 (ResponseDto, TopicCreationException) and arya-banking-bom 2.0.2; admin-service now on BOM 2.0.2 with kafka, mongo, kafka-clients and vault-config deps. Added kafka-ops → ROLE_ADMIN and migrated Vault update to @AllowedRoles.

arya-bankingadmin-servicekafkacommonbom

Common 2.0.1 Confluent SASL support + service Vault onboarding

2026-09-13 · 23:30

Released arya-banking-common 2.0.1: KafkaConfiguration now forwards security.protocol (SASL_SSL), sasl.mechanism/jaas.config, and Schema Registry basic.auth USER_INFO only when set — local PLAINTEXT keeps working. Removed local docker-compose files; Confluent Cloud is canonical. Bumped arya-banking-bom 2.0.0 → 2.0.1. Onboarded auth-service, user-service and admin-service to spring-cloud-starter-vault-config with Vault confluent.kafka.api/schema placeholders; auth dropped local spring.kafka block in favor of Config Server defaults. Admin added topic-listing endpoint and batch VaultSecretDto (service + List<VaultSecret>).

arya-bankingcommonbomkafkavaultconfluent

Central config migrated to Confluent Cloud + secret hygiene

2026-09-12 · 21:30

Migrated arya-banking-configs application.yml from localhost:9092 / :8081 to Confluent Cloud broker (pkc-41p56) + Schema Registry (psrc-81q7m7) with SASL PLAIN / SASL_SSL, session timeout, client.id and USER_INFO Schema Registry auth. Replaced hard-coded SASL password with Vault placeholders, fixed schema auth to use schema.key (was api.key). Gateway routes already on lb:// discovery. Services inherit broker wiring from Config Server and supply only Vault confluent.* keys.

arya-bankingconfig-serverkafkaconfluentvault

Common library modularized into 5 independent modules

2026-09-06 · 02:00

Refactored arya-banking-common from a monolithic Spring Boot app into a multi-module reactor with 5 independent modules: core (domain models, exceptions, DTOs), mongo (MongoDB config), kafka (Kafka/Avro support, Avro IDL schemas), feign (Feign client config), and oauth2 (OAuth2 client credentials). Each module publishes as a separate artifact to GitHub Packages. Removed spring-boot-starter-parent, switched to standalone reactor POM. All 4 consuming services (user, auth, admin, outbox) migrated to use the new modular structure.

arya-bankingcommonmavenmodular

BOM repository created with centralized dependency management

2026-09-06 · 01:30

Created arya-banking-bom — a standalone Bill of Materials repository that centralizes versions for all 5 common modules, outbox-service, and third-party dependencies (lombok, mapstruct, gson, avro, confluent, commons-io). Imports spring-boot-dependencies and spring-cloud-dependencies BOMs. Services now import the BOM and declare module dependencies without versions. Published v2.0.0 to GitHub Packages.

arya-bankingbommavendependency-management

Metadata loader extracted to standalone repository

2026-09-06 · 01:00

Extracted MetadataInitializer and MetadataLoaderApplication from arya-banking-common into a separate repository (arya-banking-common-metadata-loader). Standalone Spring Boot app that depends on the core module and runs independently against MongoDB and Vault. No longer bundled in the common library build.

arya-bankingmetadata-loaderstandalone

All services migrated to BOM and modular common

2026-09-06 · 00:30

Migrated user-service, auth-service, admin-service, and outbox-service to use arya-banking-bom for dependency management. Updated all Java imports from org.arya.banking.common.* to module-specific packages (core, kafka, mongo, feign). Added build pipelines (build.yml) to all services. Removed SonarCloud analysis workflows. Outbox-service version bumped to 2.0.0.

arya-bankinguser-serviceauth-serviceadmin-serviceoutbox-service

August 2026

Common module v1.2.5 — EventContext AOP auto-clearing

2026-08-30 · 14:00

Added EventContextAop aspect in arya-banking-common to automatically clear ThreadLocal-based EventContext (correlationId, causedEventId) after every @KafkaListener method execution. Eliminates ThreadLocal memory leaks and cross-message context pollution in Kafka consumer thread pools. Enabled @EnableAspectJAutoProxy in user-service. First production AOP aspect shipped across the platform.

arya-bankingcommonaopkafkathreadlocal

Auth-service Kafka event integration

2026-08-29 · 18:00

Added Kafka event listeners and producers to auth-service: KafkaListenerConfig with @KafkaListener for user events, UserEventProducer for publishing UserCreateEvent and UserLockEvent to Kafka with Avro serialization, and UserUpdateEventListener consuming user update events. Updated KeyCloakServiceImpl with enhanced Keycloak user management. Services now emit and consume user lifecycle events via Kafka topics.

arya-bankingauth-servicekafkaavro

Common module v1.2.3 — Event metadata & correlation IDs

2026-08-29 · 17:50

Released arya-banking-common 1.2.3 with new correlation ID utilities: CorrelationIdContext (thread-local correlation ID propagation), EventContext (event processing context holder), EventMetadataFactory (standardized EventMetadata creation with trace IDs), and GsonParser (JSON-Avro parsing helper). Updated EventMetadata.avdl schema and KafkaConstants with new topic definitions. Published to GitHub Packages Maven registry.

arya-bankingcommonavrokafkacorrelation-id

User-service Kafka consumer & outbox integration

2026-08-29 · 17:45

Implemented UserEventListeners with @KafkaListener for consuming user events from auth-service. Added UserValidator for input validation. Updated UserServiceImpl to publish UserCreateEvent via transactional outbox pattern when creating users. Integrated with arya-banking-outbox-service for guaranteed at-least-once event delivery. User registration now triggers downstream account creation via event choreography.

arya-bankinguser-servicekafkaoutboxchoreography

Admin-service method security & Vault policy operations

2026-08-22 · 22:10

Added MethodSecurityConfig with @EnableMethodSecurity for annotation-based access control (@PreAuthorize, @PostAuthorize). Implemented VaultPolicyServiceImpl with CRUD operations for Vault policies (create, read, update, delete, list). Added KeycloakRoleMapperImpl and VaultResponseMapperImpl for DTO mapping. Admin service now enforces role-based access on sensitive operations and manages Vault policies programmatically.

arya-bankingadmin-servicesecurityvaultkeycloak

API Gateway correlation ID propagation

2026-08-22 · 22:00

Implemented CorrelationIdGlobalFilter as a Spring Cloud Gateway filter to extract or generate correlation IDs (X-Correlation-ID header) and propagate them downstream to all microservices. Added request/response logging with correlation IDs for distributed tracing. Gateway now acts as the correlation ID entry point for the entire platform.

arya-bankingapi-gatewaycorrelation-iddistributed-tracing

Transactional outbox starter library

2026-08-01

Created arya-banking-outbox-service v1.0.0 — a Spring Boot starter implementing the transactional outbox pattern. Outbox records persist to MongoDB in the same transaction as the business change, then a scheduled relay publishes to Kafka with bounded retries (PENDING → COMPLETED / RETRY_PENDING → FAILED), guaranteeing at-least-once delivery. Avro events published via OutboxKafkaEvent against Confluent Schema Registry.

arya-bankingoutboxkafka

Internal Maven artifacts on GitHub Packages

2026-08-01

Standed up the GitHub Packages Maven registry and published arya-banking-common 1.2.3 and arya-banking-outbox-service 1.0.0 with idempotent deploy workflows — a pre-deploy probe skips re-publishing versions that already exist. Services now consume shared Avro schemas and outbox events as internal artifacts.

arya-bankingmavengithub-packages

July 2026

Dependency management BOM proposal

2026-07-25 · 10:30

Audited all 7 service POMs for dependency redundancy, identified scope issues (lombok compile vs provided), missing transitive deps (commons-io, commons-codec), and version drift (SB 3.5.3 vs 3.5.4). Proposed centralized arya-banking-bom and added to platform roadmap.

arya-bankingmavenpom

Admin-service OpenAPI config fix

2026-07-25 · 12:15

Added explicit OpenApiConfig.java to admin-service to stop SpringDoc from auto-generating 'host.docker.internal:8089' as the server URL. Explicit server entries set for API Gateway (8085) and direct (8089).

arya-bankingadmin-serviceswagger
© 2026 Karthik KulkarniUTF-8 // Blueprint_1.0