Skip to content

feat: Add MONGO_TLS_CA_CERT env var support for MongoDB TLS #2023

@ferr3ira-gabriel

Description

@ferr3ira-gabriel

Summary

Add support for MONGO_TLS_CA_CERT env var to pass CA certificate to lib-commons MongoDB TLS configuration.

Current State

Midaz uses lib-commons/mongo but does not pass TLS config. It relies on MONGO_PARAMETERS URI string with tlsInsecure=true which skips certificate validation.

Proposed Solution

Add MONGO_TLS_CA_CERT env var (base64 encoded PEM) and pass it to lib-commons:

var tlsCfg *libMongo.TLSConfig
if cfg.MongoTLSCACert != "" {
    tlsCfg = &libMongo.TLSConfig{CACertBase64: cfg.MongoTLSCACert}
}

mongoConnection, err := libMongo.NewClient(ctx, libMongo.Config{
    URI:      mongoSource,
    Database: cfg.MongoDBName,
    TLS:      tlsCfg,
})

This follows the same pattern used for Redis: REDIS_CA_CERTlibRedis.TLSConfig{CACertBase64}

Acceptance Criteria

  • Add MONGO_TLS_CA_CERT env var to config struct
  • Pass TLS config to lib-commons/mongo NewClient
  • Update helm chart to support the new env var
  • Works for both onboarding and transaction MongoDB connections

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions