O Helm Chart do Midaz possui as seguintes dependências para a instalação padrão do projeto. Todas as dependências são habilitadas por padrão.
Recomendação para produção: Por padrão, o chart do Midaz inclui todas as dependências. Para deploys em produção, desabilite as dependências inclusas e conecte-se a serviços gerenciados (AWS RDS, Amazon MQ, etc.) para melhor confiabilidade, backups automatizados e escalabilidade.
Os exemplos abaixo mostram configurações tanto para o Ledger (recomendado) quanto para os serviços Onboarding/Transaction (legado). Escolha a configuração que corresponde ao seu deployment.
Produção: Use Redis/Valkey gerenciado (ElastiCache, Memorystore) para alta disponibilidade e failover automático.
Se você tem uma instância existente de Valkey ou Redis, pode desabilitar essa dependência e configurar os componentes do Midaz para usar sua instância externa.
Produção: Use PostgreSQL gerenciado (RDS, CloudSQL, Azure Database) com backups automatizados e recuperação point-in-time.
Se você tem uma instância existente de PostgreSQL, pode desabilitar essa dependência e configurar os componentes do Midaz para usar seu PostgreSQL externo.
Produção: Use RabbitMQ gerenciado (Amazon MQ, CloudAMQP) com configuração HA para durabilidade de mensagens e failover automático.
Se você está usando uma instância externa de RabbitMQ, você precisa carregar o arquivo load_definitions.json necessário. Sem essas filas, exchanges e bindings configurados, o Midaz não funcionará como esperado.Você pode carregar as definições de duas formas:AutomaticamenteHabilite o job de bootstrap no seu values.yaml para aplicar automaticamente as definições do RabbitMQ na sua instância externa:
Para simplificar a configuração de um RabbitMQ externo, este chart fornece um Job único que:
Aplica o arquivo de definições padrão via API HTTP.
Cria/atualiza os usuários transaction e consumer com senhas customizadas.
Aguarda conectividade AMQP com timeout de 300s.
É idempotente: se os usuários já existirem, pula e encerra.
Configure no values.yaml:
rabbitmq: enabled: false # disable bundled RabbitMQ to use an external oneglobal: externalRabbitmqDefinitions: enabled: true connection: protocol: "http" # http or https host: "your-rabbitmq-host" port: "15672" # HTTP management port portAmqp: "5672" # AMQP port (for connectivity check) rabbitmqAdminLogin: # Option A: Use an existing Secret (recommended) # Required keys: RABBITMQ_ADMIN_USER, RABBITMQ_ADMIN_PASS useExistingSecret: name: "my-rabbitmq-admin-secret" # Option B: Inline credentials (not recommended in production) # username: "admin" # password: "s3cret" appCredentials: # Option A: Use an existing Secret (recommended) # Required keys: RABBITMQ_DEFAULT_PASS, RABBITMQ_CONSUMER_PASS useExistingSecret: name: "my-rabbitmq-app-credentials" # Option B: Inline passwords (not recommended in production) # transactionPassword: "transaction-pass" # consumerPassword: "consumer-pass"
Todos os secrets devem estar no mesmo namespace que o release. O Job tem um TTL de 300 segundos após a conclusão. Usuários criados: midaz (admin), transaction, consumer.
Se você já tem uma instância de RabbitMQ em execução, pode desabilitar a dependência integrada e apontar os componentes do Midaz para sua configuração externa.