Skip to content

fix(transaction): add RABBITMQ_TLS env var for Amazon MQ connections#1958

Merged
ClaraTersi merged 1 commit intodevelopfrom
fix/rabbitmq-tls-amazon-mq
Mar 22, 2026
Merged

fix(transaction): add RABBITMQ_TLS env var for Amazon MQ connections#1958
ClaraTersi merged 1 commit intodevelopfrom
fix/rabbitmq-tls-amazon-mq

Conversation

@jeffersonrodrigues92
Copy link
Contributor

Summary

  • Add RABBITMQ_TLS env var (bool) to enable TLS for multi-tenant RabbitMQ connections
  • When true, passes tmrabbitmq.WithTLS() to the manager, using amqps:// scheme instead of amqp://
  • Fixes Amazon MQ connection failures where port 5671 (TLS) was used but TLS was not enabled

Root Cause

Amazon MQ (managed RabbitMQ) requires TLS on port 5671. The tmrabbitmq.Manager was created without WithTLS(), so it connected via plaintext amqp:// — which Amazon MQ rejects.

Log evidence:

connecting to RabbitMQ vhost: tenant=org_xxx, vhost=ledger_org_xxx, tls=false

Changes

File Change
components/transaction/internal/bootstrap/config.go Add RabbitMQTLS bool field with env:"RABBITMQ_TLS"
components/transaction/internal/bootstrap/config.rabbitmq.go Conditionally pass WithTLS() when cfg.RabbitMQTLS is true

Usage

RABBITMQ_TLS=true  # Enable for Amazon MQ / any TLS-enabled broker

Test plan

  • Deploy to staging with RABBITMQ_TLS=true
  • Verify log shows tls=true on connection
  • Verify tenant messages are produced and consumed successfully via Amazon MQ

🤖 Generated with Claude Code

Amazon MQ requires TLS (amqps:// on port 5671). The multi-tenant
RabbitMQ manager was connecting without TLS because WithTLS() was not
being passed. Add RABBITMQ_TLS env var to enable TLS globally for
tenant vhost connections.

X-Lerian-Ref: 0x1
@jeffersonrodrigues92 jeffersonrodrigues92 requested review from a team as code owners March 22, 2026 00:59
@coderabbitai
Copy link

coderabbitai bot commented Mar 22, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 62a9a021-d8e6-4523-9f11-f614c6a37ede

📥 Commits

Reviewing files that changed from the base of the PR and between 8ac6708 and 25da8ea.

📒 Files selected for processing (300)
  • .githooks/commit-msg
  • .githooks/commit-msg/commit-msg
  • .githooks/pre-commit
  • .githooks/pre-commit/pre-commit
  • .githooks/pre-push
  • .githooks/pre-push/pre-push
  • .githooks/pre-receive/pre-receive
  • .github/CODEOWNERS
  • .github/ISSUE_TEMPLATE/BUG-REPORT.yaml
  • .github/ISSUE_TEMPLATE/FEATURE-REQUEST.yaml
  • .github/ISSUE_TEMPLATE/config.yaml
  • .github/actionlint.yaml
  • .github/dependabot.yml
  • .github/pull_request_template.md
  • .github/workflows/build.yml
  • .github/workflows/check-branch.yml
  • .github/workflows/env-vars-pr-notification.yml
  • .github/workflows/go-combined-analysis.yml
  • .github/workflows/go-integration-e2e.yml
  • .github/workflows/gptchangelog.yml
  • .github/workflows/midaz-e2e-tests.yml
  • .github/workflows/pr-security-scan.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/release-notification.yml
  • .github/workflows/release.yml
  • .gitignore
  • .ignorecoverunit
  • .releaserc.yml
  • CHANGELOG.md
  • CONTRIBUTING.md
  • GOVERNANCE.md
  • LICENSE
  • Makefile
  • README.md
  • SECURITY.md
  • STRUCTURE.md
  • SUPPORT.md
  • components/crm/.env.example
  • components/crm/Dockerfile
  • components/crm/Makefile
  • components/crm/api/crm_docs.go
  • components/crm/api/crm_swagger.json
  • components/crm/api/crm_swagger.yaml
  • components/crm/api/openapi.yaml
  • components/crm/cmd/app/main.go
  • components/crm/internal/adapters/http/in/alias.go
  • components/crm/internal/adapters/http/in/alias_test.go
  • components/crm/internal/adapters/http/in/error_mapping.go
  • components/crm/internal/adapters/http/in/error_transformer.go
  • components/crm/internal/adapters/http/in/error_transformer_test.go
  • components/crm/internal/adapters/http/in/holder.go
  • components/crm/internal/adapters/http/in/holder_test.go
  • components/crm/internal/adapters/http/in/observability.go
  • components/crm/internal/adapters/http/in/routes.go
  • components/crm/internal/adapters/http/in/routes_test.go
  • components/crm/internal/adapters/http/in/swagger.go
  • components/crm/internal/adapters/mongodb/alias/alias.go
  • components/crm/internal/adapters/mongodb/alias/alias.mongodb.go
  • components/crm/internal/adapters/mongodb/alias/alias.mongodb_integration_test.go
  • components/crm/internal/adapters/mongodb/alias/alias.mongodb_tenant_test.go
  • components/crm/internal/adapters/mongodb/alias/alias.mongodb_test.go
  • components/crm/internal/adapters/mongodb/alias/alias_maintenance.mongodb.go
  • components/crm/internal/adapters/mongodb/alias/alias_query.mongodb.go
  • components/crm/internal/adapters/mongodb/alias/alias_test.go
  • components/crm/internal/adapters/mongodb/holder/holder.go
  • components/crm/internal/adapters/mongodb/holder/holder.mongodb.go
  • components/crm/internal/adapters/mongodb/holder/holder.mongodb_integration_test.go
  • components/crm/internal/adapters/mongodb/holder/holder.mongodb_tenant_test.go
  • components/crm/internal/adapters/mongodb/holder/holder.mongodb_test.go
  • components/crm/internal/adapters/mongodb/holder/holder_maintenance.mongodb.go
  • components/crm/internal/adapters/mongodb/holder/holder_query.mongodb.go
  • components/crm/internal/adapters/mongodb/holder/holder_test.go
  • components/crm/internal/bootstrap/backward_compat_test.go
  • components/crm/internal/bootstrap/config.go
  • components/crm/internal/bootstrap/config.tenant.go
  • components/crm/internal/bootstrap/config_test.go
  • components/crm/internal/bootstrap/server.go
  • components/crm/internal/bootstrap/service.go
  • components/crm/internal/services/create-alias.go
  • components/crm/internal/services/create-alias_test.go
  • components/crm/internal/services/create-holder.go
  • components/crm/internal/services/create-holder_test.go
  • components/crm/internal/services/delete-alias.go
  • components/crm/internal/services/delete-alias_test.go
  • components/crm/internal/services/delete-holder.go
  • components/crm/internal/services/delete-holder_test.go
  • components/crm/internal/services/delete-related-party.go
  • components/crm/internal/services/delete-related-party_test.go
  • components/crm/internal/services/get-all-aliases.go
  • components/crm/internal/services/get-all-aliases_test.go
  • components/crm/internal/services/get-all-holders.go
  • components/crm/internal/services/get-all-holders_test.go
  • components/crm/internal/services/get-id-alias.go
  • components/crm/internal/services/get-id-alias_test.go
  • components/crm/internal/services/get-id-holder.go
  • components/crm/internal/services/get-id-holder_test.go
  • components/crm/internal/services/service.go
  • components/crm/internal/services/update-alias.go
  • components/crm/internal/services/update-alias_test.go
  • components/crm/internal/services/update-holder.go
  • components/crm/internal/services/update-holder_test.go
  • components/crm/internal/services/validate-alias-closing-date.go
  • components/crm/internal/services/validate-alias-closing-date_test.go
  • components/crm/internal/services/validate-related-party.go
  • components/crm/internal/services/validate-related-party_test.go
  • components/crm/scripts/validate-api-docs.js
  • components/crm/scripts/validate-api-implementations.js
  • components/infra/.env.example
  • components/infra/grafana/run-grafana.sh
  • components/infra/mongo/mongo.sh
  • components/infra/rabbitmq/etc/definitions.json
  • components/ledger/.env.example
  • components/ledger/Dockerfile
  • components/ledger/Makefile
  • components/ledger/api/docs.go
  • components/ledger/api/swagger.json
  • components/ledger/api/swagger.yaml
  • components/ledger/cmd/app/main.go
  • components/ledger/internal/adapters/http/in/metadata.go
  • components/ledger/internal/adapters/http/in/metadata_multitenant_test.go
  • components/ledger/internal/adapters/http/in/metadata_test.go
  • components/ledger/internal/adapters/http/in/routes.go
  • components/ledger/internal/adapters/http/in/routes_test.go
  • components/ledger/internal/bootstrap/backward_compat_test.go
  • components/ledger/internal/bootstrap/config.go
  • components/ledger/internal/bootstrap/config_integration_test.go
  • components/ledger/internal/bootstrap/config_test.go
  • components/ledger/internal/bootstrap/server.go
  • components/ledger/internal/bootstrap/service.go
  • components/ledger/internal/bootstrap/service_test.go
  • components/ledger/internal/bootstrap/swagger.go
  • components/ledger/internal/bootstrap/unified-server.go
  • components/ledger/scripts/merge-swagger.sh
  • components/onboarding/Dockerfile
  • components/onboarding/Makefile
  • components/onboarding/api/onboarding_docs.go
  • components/onboarding/api/onboarding_swagger.json
  • components/onboarding/api/onboarding_swagger.yaml
  • components/onboarding/api/openapi.yaml
  • components/onboarding/bootstrap.go
  • components/onboarding/bootstrap_test.go
  • components/onboarding/cmd/app/main.go
  • components/onboarding/internal/adapters/grpc/out/balance.grpc.go
  • components/onboarding/internal/adapters/grpc/out/balance.grpc_test.go
  • components/onboarding/internal/adapters/http/in/account.go
  • components/onboarding/internal/adapters/http/in/account_test.go
  • components/onboarding/internal/adapters/http/in/accounttype.go
  • components/onboarding/internal/adapters/http/in/accounttype_test.go
  • components/onboarding/internal/adapters/http/in/asset.go
  • components/onboarding/internal/adapters/http/in/asset_integration_test.go
  • components/onboarding/internal/adapters/http/in/asset_test.go
  • components/onboarding/internal/adapters/http/in/errors.go
  • components/onboarding/internal/adapters/http/in/errors_test.go
  • components/onboarding/internal/adapters/http/in/ledger.go
  • components/onboarding/internal/adapters/http/in/ledger_test.go
  • components/onboarding/internal/adapters/http/in/observability.go
  • components/onboarding/internal/adapters/http/in/observability_test.go
  • components/onboarding/internal/adapters/http/in/organization.go
  • components/onboarding/internal/adapters/http/in/organization_test.go
  • components/onboarding/internal/adapters/http/in/portfolio.go
  • components/onboarding/internal/adapters/http/in/portfolio_test.go
  • components/onboarding/internal/adapters/http/in/routes.go
  • components/onboarding/internal/adapters/http/in/segment.go
  • components/onboarding/internal/adapters/http/in/segment_test.go
  • components/onboarding/internal/adapters/http/in/swagger.go
  • components/onboarding/internal/adapters/mongodb/metadata.go
  • components/onboarding/internal/adapters/mongodb/metadata.mongodb.go
  • components/onboarding/internal/adapters/mongodb/metadata.mongodb_integration_test.go
  • components/onboarding/internal/adapters/mongodb/metadata.mongodb_tenant_test.go
  • components/onboarding/internal/adapters/mongodb/metadata_test.go
  • components/onboarding/internal/adapters/postgres/account/account.go
  • components/onboarding/internal/adapters/postgres/account/account.postgresql.go
  • components/onboarding/internal/adapters/postgres/account/account.postgresql_integration_test.go
  • components/onboarding/internal/adapters/postgres/account/account.postgresql_tenant_mode_test.go
  • components/onboarding/internal/adapters/postgres/account/account_test.go
  • components/onboarding/internal/adapters/postgres/accounttype/accounttype.go
  • components/onboarding/internal/adapters/postgres/accounttype/accounttype.postgresql.go
  • components/onboarding/internal/adapters/postgres/accounttype/accounttype.postgresql_integration_test.go
  • components/onboarding/internal/adapters/postgres/accounttype/accounttype.postgresql_mock.go
  • components/onboarding/internal/adapters/postgres/accounttype/accounttype_test.go
  • components/onboarding/internal/adapters/postgres/accounttype/cursor_v4.go
  • components/onboarding/internal/adapters/postgres/asset/asset.go
  • components/onboarding/internal/adapters/postgres/asset/asset.postgresql.go
  • components/onboarding/internal/adapters/postgres/asset/asset.postgresql_integration_test.go
  • components/onboarding/internal/adapters/postgres/asset/asset_test.go
  • components/onboarding/internal/adapters/postgres/ledger/ledger.go
  • components/onboarding/internal/adapters/postgres/ledger/ledger.postgresql.go
  • components/onboarding/internal/adapters/postgres/ledger/ledger.postgresql_integration_test.go
  • components/onboarding/internal/adapters/postgres/ledger/ledger.postgresql_mock.go
  • components/onboarding/internal/adapters/postgres/ledger/ledger_test.go
  • components/onboarding/internal/adapters/postgres/organization/organization.go
  • components/onboarding/internal/adapters/postgres/organization/organization.postgresql.go
  • components/onboarding/internal/adapters/postgres/organization/organization.postgresql_chaos_test.go
  • components/onboarding/internal/adapters/postgres/organization/organization.postgresql_fuzz_test.go
  • components/onboarding/internal/adapters/postgres/organization/organization.postgresql_integration_test.go
  • components/onboarding/internal/adapters/postgres/organization/organization.postgresql_mock.go
  • components/onboarding/internal/adapters/postgres/organization/organization.postgresql_property_test.go
  • components/onboarding/internal/adapters/postgres/organization/organization.postgresql_tenant_test.go
  • components/onboarding/internal/adapters/postgres/organization/organization_test.go
  • components/onboarding/internal/adapters/postgres/portfolio/portfolio.go
  • components/onboarding/internal/adapters/postgres/portfolio/portfolio.postgresql.go
  • components/onboarding/internal/adapters/postgres/portfolio/portfolio.postgresql_integration_test.go
  • components/onboarding/internal/adapters/postgres/portfolio/portfolio_test.go
  • components/onboarding/internal/adapters/postgres/segment/segment.go
  • components/onboarding/internal/adapters/postgres/segment/segment.postgresql.go
  • components/onboarding/internal/adapters/postgres/segment/segment.postgresql_integration_test.go
  • components/onboarding/internal/adapters/postgres/segment/segment_test.go
  • components/onboarding/internal/adapters/redis/consumer.redis.go
  • components/onboarding/internal/adapters/redis/consumer.redis_chaos_test.go
  • components/onboarding/internal/adapters/redis/consumer.redis_fuzz_test.go
  • components/onboarding/internal/adapters/redis/consumer.redis_integration_test.go
  • components/onboarding/internal/adapters/redis/consumer.redis_mock.go
  • components/onboarding/internal/adapters/redis/consumer.redis_property_test.go
  • components/onboarding/internal/adapters/redis/consumer.redis_test.go
  • components/onboarding/internal/bootstrap/config.go
  • components/onboarding/internal/bootstrap/config.mongo.go
  • components/onboarding/internal/bootstrap/config.mongo_test.go
  • components/onboarding/internal/bootstrap/config.postgres.go
  • components/onboarding/internal/bootstrap/config.postgres_chaos_test.go
  • components/onboarding/internal/bootstrap/config.postgres_fuzz_test.go
  • components/onboarding/internal/bootstrap/config.postgres_integration_test.go
  • components/onboarding/internal/bootstrap/config.postgres_property_test.go
  • components/onboarding/internal/bootstrap/config.postgres_test.go
  • components/onboarding/internal/bootstrap/config_logger_test.go
  • components/onboarding/internal/bootstrap/config_test.go
  • components/onboarding/internal/bootstrap/fiber.server.go
  • components/onboarding/internal/bootstrap/runtime_test.go
  • components/onboarding/internal/bootstrap/service.go
  • components/onboarding/internal/bootstrap/service_test.go
  • components/onboarding/internal/services/command/command.go
  • components/onboarding/internal/services/command/command_test.go
  • components/onboarding/internal/services/command/create-account-type.go
  • components/onboarding/internal/services/command/create-account-type_test.go
  • components/onboarding/internal/services/command/create-account.go
  • components/onboarding/internal/services/command/create-account_test.go
  • components/onboarding/internal/services/command/create-asset.go
  • components/onboarding/internal/services/command/create-asset_test.go
  • components/onboarding/internal/services/command/create-ledger.go
  • components/onboarding/internal/services/command/create-ledger_test.go
  • components/onboarding/internal/services/command/create-metadata.go
  • components/onboarding/internal/services/command/create-metadata_test.go
  • components/onboarding/internal/services/command/create-organization.go
  • components/onboarding/internal/services/command/create-organization_test.go
  • components/onboarding/internal/services/command/create-portfolio.go
  • components/onboarding/internal/services/command/create-portfolio_test.go
  • components/onboarding/internal/services/command/create-segment.go
  • components/onboarding/internal/services/command/create-segment_test.go
  • components/onboarding/internal/services/command/delete-account-type.go
  • components/onboarding/internal/services/command/delete-account-type_test.go
  • components/onboarding/internal/services/command/delete-account.go
  • components/onboarding/internal/services/command/delete-account_test.go
  • components/onboarding/internal/services/command/delete-asset.go
  • components/onboarding/internal/services/command/delete-asset_test.go
  • components/onboarding/internal/services/command/delete-ledger.go
  • components/onboarding/internal/services/command/delete-ledger_test.go
  • components/onboarding/internal/services/command/delete-organization.go
  • components/onboarding/internal/services/command/delete-organization_test.go
  • components/onboarding/internal/services/command/delete-portfolio.go
  • components/onboarding/internal/services/command/delete-portfolio_test.go
  • components/onboarding/internal/services/command/delete-segment.go
  • components/onboarding/internal/services/command/delete-segment_test.go
  • components/onboarding/internal/services/command/update-account-type.go
  • components/onboarding/internal/services/command/update-account-type_test.go
  • components/onboarding/internal/services/command/update-account.go
  • components/onboarding/internal/services/command/update-account_test.go
  • components/onboarding/internal/services/command/update-asset.go
  • components/onboarding/internal/services/command/update-asset_test.go
  • components/onboarding/internal/services/command/update-ledger-settings.go
  • components/onboarding/internal/services/command/update-ledger-settings_test.go
  • components/onboarding/internal/services/command/update-ledger.go
  • components/onboarding/internal/services/command/update-ledger_test.go
  • components/onboarding/internal/services/command/update-metadata.go
  • components/onboarding/internal/services/command/update-metadata_test.go
  • components/onboarding/internal/services/command/update-organization.go
  • components/onboarding/internal/services/command/update-organization_test.go
  • components/onboarding/internal/services/command/update-portfolio.go
  • components/onboarding/internal/services/command/update-portfolio_test.go
  • components/onboarding/internal/services/command/update-segment.go
  • components/onboarding/internal/services/command/update-segment_test.go
  • components/onboarding/internal/services/errors.go
  • components/onboarding/internal/services/query/count-accounts.go
  • components/onboarding/internal/services/query/count-accounts_integration_test.go
  • components/onboarding/internal/services/query/count-accounts_test.go
  • components/onboarding/internal/services/query/count-assets.go
  • components/onboarding/internal/services/query/count-assets_test.go
  • components/onboarding/internal/services/query/count-ledgers.go
  • components/onboarding/internal/services/query/count-ledgers_integration_test.go
  • components/onboarding/internal/services/query/count-ledgers_test.go
  • components/onboarding/internal/services/query/count-organizations.go
  • components/onboarding/internal/services/query/count-organizations_test.go
  • components/onboarding/internal/services/query/count-portfolios.go
  • components/onboarding/internal/services/query/count-portfolios_test.go
  • components/onboarding/internal/services/query/count-segments.go
  • components/onboarding/internal/services/query/count-segments_test.go
  • components/onboarding/internal/services/query/get-alias-account.go
  • components/onboarding/internal/services/query/get-alias-account_test.go
  • components/onboarding/internal/services/query/get-alias-accounts.go
  • components/onboarding/internal/services/query/get-alias-accounts_test.go
  • components/onboarding/internal/services/query/get-all-account-type.go
  • components/onboarding/internal/services/query/get-all-account-type_test.go

Walkthrough

This pull request introduces multi-tenant support across the CRM, Ledger, and Onboarding components; upgrades lib-commons from v2 to v4; restructures git hooks and GitHub Actions workflows to use reusable shared workflows; changes the repository license from Apache 2.0 to Elastic License 2.0; adds ledger settings and balance history endpoints; and updates API schemas, container configurations, and dependency management. It includes new MongoDB tenant context resolution, circuit breaker configurations for tenant operations, and simplified CI/CD through external shared workflow references.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant Middleware as Tenant Middleware
    participant TenantMgr as Tenant Manager
    participant MongoMgr as Mongo Manager
    participant Database as MongoDB
    participant Handler as HTTP Handler
    participant Service as Service Logic

    Client->>Middleware: HTTP Request<br/>(with X-Tenant-ID)
    Middleware->>TenantMgr: Resolve Tenant Config
    TenantMgr->>MongoMgr: Get Tenant-specific DB
    MongoMgr->>Database: Connect to Tenant DB
    Database-->>MongoMgr: Tenant DB Instance
    MongoMgr-->>Middleware: Tenant Context Set
    Middleware->>Handler: Pass Request + Context
    Handler->>Service: Execute with Tenant Context
    Service->>Database: Query Tenant Data
    Database-->>Service: Tenant-scoped Results
    Service-->>Handler: Response
    Handler-->>Client: HTTP 200 + Data
Loading

Suggested reviewers

  • ClaraTersi
  • Ygohr

@jeffersonrodrigues92 jeffersonrodrigues92 changed the base branch from main to develop March 22, 2026 01:00
Copy link
Contributor

@lerian-studio lerian-studio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Invalid Source Branch

Pull requests to main can only come from:

  • develop
  • release-candidate
  • hotfix/*

Your source branch: fix/rabbitmq-tls-amazon-mq

Please change the base branch or create a PR from an allowed branch.

@lerian-studio
Copy link
Contributor

This PR is very large (878 files, 108454 lines changed). Consider breaking it into smaller PRs for easier review.

Copy link

@gandalf-at-lerian gandalf-at-lerian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean fix for Amazon MQ TLS requirement. The env var gives control over TLS without hardcoding assumptions about the broker.

Pattern follows the same approach used in PostgreSQL and MongoDB managers — conditional option based on config. LGTM.

Copy link

@gandalf-at-lerian gandalf-at-lerian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean fix for Amazon MQ TLS requirement. The env var gives control over TLS without hardcoding assumptions about the broker.

Pattern follows the same approach used in PostgreSQL and MongoDB managers — conditional option based on config. LGTM.

@lerian-studio
Copy link
Contributor

📊 Unit Test Coverage Report: midaz-ledger

Metric Value
Overall Coverage 87.1% ✅ PASS
Threshold 85%

Coverage by Package

Package Coverage
github.com/LerianStudio/midaz/v3/components/ledger/internal/adapters/http/in 86.8%

Generated by Go PR Analysis workflow

@lerian-studio
Copy link
Contributor

📊 Unit Test Coverage Report: midaz-transaction

Metric Value
Overall Coverage 85.2% ✅ PASS
Threshold 85%

Coverage by Package

Package Coverage
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/grpc/in 100.0%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/http/in 78.5%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/mongodb 66.7%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/postgres/assetrate 100.0%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/postgres/balance 100.0%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/postgres/operation 90.0%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/postgres/operationroute 100.0%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/postgres/transaction 97.4%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/postgres/transactionroute 100.0%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/rabbitmq 93.1%
github.com/LerianStudio/midaz/v3/components/transaction/internal/adapters/redis/balance 100.0%
github.com/LerianStudio/midaz/v3/components/transaction/internal/services/command 90.4%
github.com/LerianStudio/midaz/v3/components/transaction/internal/services/query 95.2%
github.com/LerianStudio/midaz/v3/components/transaction/internal/services 100.0%

Generated by Go PR Analysis workflow

@lerian-studio
Copy link
Contributor

📊 Unit Test Coverage Report: midaz-crm

Metric Value
Overall Coverage 87.7% ✅ PASS
Threshold 85%

Coverage by Package

Package Coverage
github.com/LerianStudio/midaz/v3/components/crm/internal/adapters/http/in 86.2%
github.com/LerianStudio/midaz/v3/components/crm/internal/adapters/mongodb/alias 92.1%
github.com/LerianStudio/midaz/v3/components/crm/internal/adapters/mongodb/holder 87.1%
github.com/LerianStudio/midaz/v3/components/crm/internal/services 95.2%

Generated by Go PR Analysis workflow

@lerian-studio
Copy link
Contributor

🔒 Security Scan Results — crm

Trivy

Filesystem Scan

✅ No vulnerabilities or secrets found.

Docker Image Scan

✅ No vulnerabilities found.


Docker Hub Health Score Compliance

✅ Policies — 4/4 met

Policy Status
Default non-root user ✅ Passed
No fixable critical/high CVEs ✅ Passed
No high-profile vulnerabilities ✅ Passed
No AGPL v3 licenses ✅ Passed

🔍 View full scan logs

@lerian-studio
Copy link
Contributor

📊 Unit Test Coverage Report: midaz-onboarding

Metric Value
Overall Coverage 87.5% ✅ PASS
Threshold 85%

Coverage by Package

Package Coverage
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/grpc/out 11.1%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/http/in 95.0%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/mongodb 66.7%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/postgres/account 100.0%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/postgres/accounttype 66.7%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/postgres/asset 100.0%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/postgres/ledger 100.0%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/postgres/organization 100.0%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/postgres/portfolio 100.0%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/adapters/postgres/segment 100.0%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/services/command 88.6%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/services/query 90.9%
github.com/LerianStudio/midaz/v3/components/onboarding/internal/services 0.0%

Generated by Go PR Analysis workflow

@ClaraTersi ClaraTersi merged commit 0e3c777 into develop Mar 22, 2026
41 of 43 checks passed
@ClaraTersi ClaraTersi deleted the fix/rabbitmq-tls-amazon-mq branch March 22, 2026 01:02
Copy link

@gandalf-at-lerian gandalf-at-lerian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean fix for Amazon MQ TLS requirement. The env var gives control over TLS without hardcoding assumptions about the broker.

Pattern follows the same approach used in PostgreSQL and MongoDB managers. LGTM.

@lerian-studio
Copy link
Contributor

🔒 Security Scan Results — ledger

Trivy

Filesystem Scan

✅ No vulnerabilities or secrets found.

Docker Image Scan

✅ No vulnerabilities found.


Docker Hub Health Score Compliance

✅ Policies — 4/4 met

Policy Status
Default non-root user ✅ Passed
No fixable critical/high CVEs ✅ Passed
No high-profile vulnerabilities ✅ Passed
No AGPL v3 licenses ✅ Passed

🔍 View full scan logs

@gandalf-at-lerian gandalf-at-lerian mentioned this pull request Mar 22, 2026
@lerian-studio
Copy link
Contributor

🔒 Security Scan Results — onboarding

Trivy

Filesystem Scan

✅ No vulnerabilities or secrets found.

Docker Image Scan

✅ No vulnerabilities found.


Docker Hub Health Score Compliance

✅ Policies — 4/4 met

Policy Status
Default non-root user ✅ Passed
No fixable critical/high CVEs ✅ Passed
No high-profile vulnerabilities ✅ Passed
No AGPL v3 licenses ✅ Passed

🔍 View full scan logs

@lerian-studio
Copy link
Contributor

🔒 Security Scan Results — transaction

Trivy

Filesystem Scan

✅ No vulnerabilities or secrets found.

Docker Image Scan

✅ No vulnerabilities found.


Docker Hub Health Score Compliance

✅ Policies — 4/4 met

Policy Status
Default non-root user ✅ Passed
No fixable critical/high CVEs ✅ Passed
No high-profile vulnerabilities ✅ Passed
No AGPL v3 licenses ✅ Passed

🔍 View full scan logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants