> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Referência de componentes do Midaz

> Configure os componentes do Helm chart do Midaz — Ledger, Onboarding, Transaction e CRM — com ajustes de deployment, serviço e ingress.

O Helm chart do Midaz faz o deploy de quatro possíveis componentes de serviço: **Ledger** (unificado, recomendado), **Onboarding** (legado), **Transaction** (legado) e **CRM** (opcional). Cada componente tem seu próprio deployment, serviço, ingress e configuração de autoscaling.

<Tip>
  **Decisão rápida:** Novas instalações → habilite Ledger, desabilite Onboarding e Transaction. Migrando do v4.x → veja o [Guia de migração](/pt/platform/helm/midaz/midaz-migrate-v4-to-v5). Precisa de CRM? → defina `crm.enabled: true`.
</Tip>

<Warning>
  **Recomendado para novas instalações**: Use o serviço unificado **Ledger**. Os serviços separados Onboarding e Transaction ainda são suportados, mas se tornarão legado em um release futuro.
</Warning>

### Ledger (recomendado)

O servico `ledger` é um servico unificado que combina a funcionalidade dos modulos onboarding e transaction em um unico deployment. Este servico é recomendado para novas instalacoes e se tornará obrigatorio em releases futuros.

<Note>
  Quando `ledger.enabled` é definido como `true`, os servicos onboarding e transaction sao automaticamente desabilitados (a menos que `migration.allowAllServices` esteja definido como `true` para fins de teste).
</Note>

**Habilitando o servico Ledger:**

```yaml theme={null}
ledger:
  enabled: true

onboarding:
  enabled: false

transaction:
  enabled: false
```

Quando o ledger esta habilitado, os ingresses de onboarding e transaction redirecionarao automaticamente o trafego para o servico ledger, mantendo compatibilidade com configuracoes DNS existentes.

| Parâmetro                                              | Descrição                                                              | Valor Padrão                        |
| :----------------------------------------------------- | :--------------------------------------------------------------------- | :---------------------------------- |
| `ledger.enabled`                                       | Habilita ou desabilita the ledger service.                             | `false`                             |
| `ledger.name`                                          | Nome do serviço.                                                       | `"ledger"`                          |
| `ledger.replicaCount`                                  | Número de réplicas para o serviço ledger service.                      | `1`                                 |
| `ledger.image.repository`                              | Repositório da imagem de container do serviço ledger service .         | `"lerianstudio/midaz-ledger"`       |
| `ledger.image.pullPolicy`                              | Política de pull da imagem.                                            | `"IfNotPresent"`                    |
| `ledger.image.tag`                                     | Tag da imagem usada para o deployment.                                 | `""` (defaults to Chart.AppVersion) |
| `ledger.imagePullSecrets`                              | Secrets para pull de imagens de um registro privado.                   | `[]`                                |
| `ledger.nameOverride`                                  | Sobrescreve o nome padrão gerado pelo Helm.                            | `""`                                |
| `ledger.fullnameOverride`                              | Sobrescreve o nome completo gerado pelo Helm.                          | `""`                                |
| `ledger.podAnnotations`                                | Annotations do pod para metadados adicionais.                          | `{}`                                |
| `ledger.podSecurityContext`                            | Contexto de segurança aplicado no nível do pod.                        | `{}`                                |
| `ledger.securityContext.*`                             | Define configurações de contexto de segurança para o container.        | See `values.yaml`                   |
| `ledger.pdb.enabled`                                   | Especifica se o PodDisruptionBudget está habilitado.                   | `true`                              |
| `ledger.pdb.minAvailable`                              | Número mínimo de pods disponíveis.                                     | `1`                                 |
| `ledger.pdb.maxUnavailable`                            | Número máximo de pods indisponíveis.                                   | `1`                                 |
| `ledger.pdb.annotations`                               | Annotations para o PodDisruptionBudget.                                | `{}`                                |
| `ledger.deploymentUpdate.*`                            | Estratégia de atualização do deployment.                               | See `values.yaml`                   |
| `ledger.service.type`                                  | Tipo de serviço Kubernetes.                                            | `"ClusterIP"`                       |
| `ledger.service.port`                                  | Porta para a API HTTP.                                                 | `3002`                              |
| `ledger.service.annotations`                           | Annotations para o serviço.                                            | `{}`                                |
| `ledger.ingress.enabled`                               | Especifica se o Ingress está habilitado.                               | `false`                             |
| `ledger.ingress.className`                             | Nome da classe do Ingress.                                             | `""`                                |
| `ledger.ingress.annotations`                           | Annotations adicionais do ingress.                                     | `{}`                                |
| `ledger.ingress.hosts`                                 | Hosts configurados para Ingress e paths associados.                    | `[]`                                |
| `ledger.ingress.tls`                                   | Configurações TLS para Ingress.                                        | `[]`                                |
| `ledger.resources.*`                                   | Requests/limits de recursos CPU/Memória.                               | See `values.yaml`                   |
| `ledger.autoscaling.enabled`                           | Especifica se o autoscaling está habilitado.                           | `true`                              |
| `ledger.autoscaling.minReplicas`                       | Número mínimo de réplicas para autoscaling.                            | `2`                                 |
| `ledger.autoscaling.maxReplicas`                       | Número máximo de réplicas para autoscaling.                            | `5`                                 |
| `ledger.autoscaling.targetCPUUtilizationPercentage`    | Percentual alvo de utilização de CPU para autoscaling.                 | `80`                                |
| `ledger.autoscaling.targetMemoryUtilizationPercentage` | Percentual alvo de utilização de memória para autoscaling.             | `80`                                |
| `ledger.nodeSelector`                                  | Seletores de node para agendamento de pods.                            | `{}`                                |
| `ledger.tolerations`                                   | Tolerations para agendamento de pods.                                  | `{}`                                |
| `ledger.affinity`                                      | Regras de afinidade para agendamento de pods.                          | `{}`                                |
| `ledger.configmap.*`                                   | Variáveis de ambiente para o serviço.                                  | See `values.yaml`                   |
| `ledger.secrets.*`                                     | Secrets para o serviço.                                                | See `values.yaml`                   |
| `ledger.useExistingSecret`                             | Usar um secret existente em vez de criar um novo.                      | `false`                             |
| `ledger.existingSecretName`                            | Nome do secret existente a ser usado.                                  | `""`                                |
| `ledger.extraEnvVars`                                  | Lista de variáveis de ambiente extras.                                 | `[]`                                |
| `ledger.serviceAccount.create`                         | Especifica se a service account deve ser criada.                       | `true`                              |
| `ledger.serviceAccount.annotations`                    | Annotations para a service account.                                    | `{}`                                |
| `ledger.serviceAccount.name`                           | Nome da service account. Se não definido, será gerado automaticamente. | `""`                                |

#### Criando o secret do Ledger manualmente

Se você deseja usar um Kubernetes Secret existente para o serviço ledger, pode criá-lo manualmente:

```bash theme={null}
kubectl create secret generic midaz-ledger \
  --from-literal=DB_ONBOARDING_PASSWORD='<your-db-onboarding-password>' \
  --from-literal=DB_ONBOARDING_REPLICA_PASSWORD='<your-db-onboarding-replica-password>' \
  --from-literal=MONGO_ONBOARDING_PASSWORD='<your-mongo-onboarding-password>' \
  --from-literal=DB_TRANSACTION_PASSWORD='<your-db-transaction-password>' \
  --from-literal=DB_TRANSACTION_REPLICA_PASSWORD='<your-db-transaction-replica-password>' \
  --from-literal=MONGO_TRANSACTION_PASSWORD='<your-mongo-transaction-password>' \
  --from-literal=REDIS_PASSWORD='<your-redis-password>' \
  --from-literal=RABBITMQ_DEFAULT_PASS='<your-rabbitmq-password>' \
  --from-literal=RABBITMQ_CONSUMER_PASS='<your-rabbitmq-consumer-password>' \
  -n midaz
```

<Note>
  O serviço ledger usa credenciais de banco de dados específicas por módulo (onboarding e transaction), pois combina ambos os módulos.
</Note>

Depois configure o serviço ledger para usar este secret existente:

```yaml theme={null}
ledger:
  enabled: true
  useExistingSecret: true
  existingSecretName: "midaz-ledger"
```

### Onboarding (legado)

<Warning>
  O serviço Onboarding ainda é suportado, mas se tornará legado em um release futuro. Recomendamos usar o serviço unificado **Ledger** para novas instalações.
</Warning>

| Parâmetro                                                  | Descrição                                                              | Valor Padrão                      |
| :--------------------------------------------------------- | :--------------------------------------------------------------------- | :-------------------------------- |
| `onboarding.name`                                          | Nome do serviço.                                                       | `"onboarding"`                    |
| `onboarding.replicaCount`                                  | Número de réplicas para o serviço onboarding service.                  | `2`                               |
| `onboarding.image.repository`                              | Repositório da imagem de container do serviço onboarding service .     | `"lerianstudio/midaz-onboarding"` |
| `onboarding.image.pullPolicy`                              | Política de pull da imagem.                                            | `"IfNotPresent"`                  |
| `onboarding.image.tag`                                     | Tag da imagem usada para o deployment.                                 | `"3.5.3"`                         |
| `onboarding.imagePullSecrets`                              | Secrets para pull de imagens de um registro privado.                   | `[]`                              |
| `onboarding.nameOverride`                                  | Sobrescreve o nome padrão gerado pelo Helm.                            | `""`                              |
| `onboarding.fullnameOverride`                              | Sobrescreve o nome completo gerado pelo Helm.                          | `""`                              |
| `onboarding.podAnnotations`                                | Annotations do pod para metadados adicionais.                          | `{}`                              |
| `onboarding.podSecurityContext`                            | Contexto de segurança aplicado no nível do pod.                        | `{}`                              |
| `onboarding.securityContext.*`                             | Define configurações de contexto de segurança para o container.        | See `values.yaml`                 |
| `onboarding.pdb.enabled`                                   | Especifica se o PodDisruptionBudget está habilitado.                   | `true`                            |
| `onboarding.pdb.minAvailable`                              | Número mínimo de pods disponíveis.                                     | `1`                               |
| `onboarding.pdb.maxUnavailable`                            | Número máximo de pods indisponíveis.                                   | `1`                               |
| `onboarding.pdb.annotations`                               | Annotations para o PodDisruptionBudget.                                | `{}`                              |
| `onboarding.deploymentUpdate.*`                            | Estratégia de atualização do deployment.                               | See `values.yaml`                 |
| `onboarding.service.type`                                  | Tipo de serviço Kubernetes.                                            | `"ClusterIP"`                     |
| `onboarding.service.port`                                  | Porta para a API HTTP.                                                 | `3000`                            |
| `onboarding.service.annotations`                           | Annotations para o serviço.                                            | `{}`                              |
| `onboarding.ingress.enabled`                               | Especifica se o Ingress está habilitado.                               | `false`                           |
| `onboarding.ingress.className`                             | Nome da classe do Ingress.                                             | `""`                              |
| `onboarding.ingress.annotations`                           | Annotations adicionais do ingress.                                     | `{}`                              |
| `onboarding.ingress.hosts`                                 | Hosts configurados para Ingress e paths associados.                    | `""`                              |
| `onboarding.ingress.tls`                                   | Configurações TLS para Ingress.                                        | `[]`                              |
| `onboarding.resources.*`                                   | Requests/limits de recursos CPU/Memória.                               | See `values.yaml`                 |
| `onboarding.autoscaling.enabled`                           | Especifica se o autoscaling está habilitado.                           | `true`                            |
| `onboarding.autoscaling.minReplicas`                       | Número mínimo de réplicas para autoscaling.                            | `2`                               |
| `onboarding.autoscaling.maxReplicas`                       | Número máximo de réplicas para autoscaling.                            | `5`                               |
| `onboarding.autoscaling.targetCPUUtilizationPercentage`    | Percentual alvo de utilização de CPU para autoscaling.                 | `80`                              |
| `onboarding.autoscaling.targetMemoryUtilizationPercentage` | Percentual alvo de utilização de memória para autoscaling.             | `80`                              |
| `onboarding.nodeSelector`                                  | Seletores de node para agendamento de pods.                            | `{}`                              |
| `onboarding.tolerations`                                   | Tolerations para agendamento de pods.                                  | `{}`                              |
| `onboarding.affinity`                                      | Regras de afinidade para agendamento de pods.                          | `{}`                              |
| `onboarding.configmap.*`                                   | Variáveis de ambiente para o serviço.                                  | See `values.yaml`                 |
| `onboarding.secrets.*`                                     | Secrets para o serviço.                                                | See `values.yaml`                 |
| `onboarding.useExistingSecret`                             | Usar um secret existente em vez de criar um novo.                      | `false`                           |
| `onboarding.existingSecretName`                            | Nome do secret existente a ser usado.                                  | `""`                              |
| `onboarding.extraEnvVars`                                  | Lista de variáveis de ambiente extras.                                 | `[]`                              |
| `onboarding.serviceAccount.create`                         | Especifica se a service account deve ser criada.                       | `true`                            |
| `onboarding.serviceAccount.annotations`                    | Annotations para a service account.                                    | `{}`                              |
| `onboarding.serviceAccount.name`                           | Nome da service account. Se não definido, será gerado automaticamente. | `""`                              |

#### Criando o secret do Onboarding manualmente

Se você deseja usar um Kubernetes Secret existente para o serviço onboarding:

```bash theme={null}
kubectl create secret generic midaz-onboarding \
  --from-literal=MONGO_PASSWORD='<your-mongo-password>' \
  --from-literal=DB_PASSWORD='<your-db-password>' \
  --from-literal=DB_REPLICA_PASSWORD='<your-db-replica-password>' \
  --from-literal=RABBITMQ_DEFAULT_PASS='<your-rabbitmq-password>' \
  --from-literal=REDIS_PASSWORD='<your-redis-password>' \
  -n midaz
```

Depois configure o serviço onboarding para usar este secret existente:

```yaml theme={null}
onboarding:
  useExistingSecret: true
  existingSecretName: "midaz-onboarding"
```

### Transaction (legado)

<Warning>
  O serviço Transaction ainda é suportado, mas se tornará legado em um release futuro. Recomendamos usar o serviço unificado **Ledger** para novas instalações.
</Warning>

| Parâmetro                                                   | Descrição                                                           | Valor Padrão                       |
| :---------------------------------------------------------- | :------------------------------------------------------------------ | :--------------------------------- |
| `transaction.name`                                          | Nome do serviço.                                                    | `"transaction"`                    |
| `transaction.replicaCount`                                  | Número de réplicas para o serviço transaction service.              | `1`                                |
| `transaction.image.repository`                              | Repositório da imagem de container do serviço transaction service . | `"lerianstudio/midaz-transaction"` |
| `transaction.image.pullPolicy`                              | Política de pull da imagem.                                         | `"IfNotPresent"`                   |
| `transaction.image.tag`                                     | Tag da imagem usada para o deployment.                              | `"3.5.3"`                          |
| `transaction.imagePullSecrets`                              | Secrets para pull de imagens de um registro privado.                | `[]`                               |
| `transaction.nameOverride`                                  | Sobrescreve o nome padrão gerado pelo Helm.                         | `""`                               |
| `transaction.fullnameOverride`                              | Sobrescreve o nome completo gerado pelo Helm.                       | `""`                               |
| `transaction.podAnnotations`                                | Annotations do pod para metadados adicionais.                       | `{}`                               |
| `transaction.podSecurityContext`                            | Contexto de segurança para o pod.                                   | `{}`                               |
| `transaction.securityContext.*`                             | Define configurações de contexto de segurança para o container.     | See `values.yaml`                  |
| `transaction.pdb.enabled`                                   | Habilita ou desabilita PodDisruptionBudget.                         | `true`                             |
| `transaction.pdb.minAvailable`                              | Número mínimo de pods disponíveis.                                  | `2`                                |
| `transaction.pdb.maxUnavailable`                            | Número máximo de pods indisponíveis.                                | `1`                                |
| `transaction.pdb.annotations`                               | Annotations para o PodDisruptionBudget.                             | `{}`                               |
| `transaction.deploymentUpdate.*`                            | Estratégia de atualização do deployment.                            | See `values.yaml`                  |
| `transaction.service.type`                                  | Tipo de serviço Kubernetes.                                         | `"ClusterIP"`                      |
| `transaction.service.port`                                  | Porta para a API HTTP.                                              | `3001`                             |
| `transaction.service.annotations`                           | Annotations para o serviço.                                         | `{}`                               |
| `transaction.ingress.enabled`                               | Habilita ou desabilita ingress.                                     | `false`                            |
| `transaction.ingress.className`                             | Nome da classe do Ingress.                                          | `""`                               |
| `transaction.ingress.annotations`                           | Annotations adicionais do ingress.                                  | `{}`                               |
| `transaction.ingress.hosts`                                 | Hosts configurados para ingress e paths associados.                 | `[]`                               |
| `transaction.ingress.tls`                                   | Configuração TLS para ingress.                                      | `[]`                               |
| `transaction.resources.*`                                   | Requests/limits de recursos CPU/Memória.                            | See `values.yaml`                  |
| `transaction.autoscaling.enabled`                           | Habilita ou desabilita horizontal pod autoscaling.                  | `true`                             |
| `transaction.autoscaling.minReplicas`                       | Número mínimo de réplicas para autoscaling.                         | `1`                                |
| `transaction.autoscaling.maxReplicas`                       | Número máximo de réplicas para autoscaling.                         | `5`                                |
| `transaction.autoscaling.targetCPUUtilizationPercentage`    | Percentual alvo de utilização de CPU para autoscaling.              | `80`                               |
| `transaction.autoscaling.targetMemoryUtilizationPercentage` | Percentual alvo de utilização de memória para autoscaling.          | `80`                               |
| `transaction.nodeSelector`                                  | Seletor de node para agendamento de pods em nodes específicos.      | `{}`                               |
| `transaction.tolerations`                                   | Tolerations para agendamento em nodes com taints.                   | `{}`                               |
| `transaction.affinity`                                      | Regras de afinidade para agendamento de pods.                       | `{}`                               |
| `transaction.configmap.*`                                   | Variáveis de ambiente para o serviço.                               | See `values.yaml`                  |
| `transaction.secrets.*`                                     | Secrets para o serviço.                                             | See `values.yaml`                  |
| `transaction.useExistingSecret`                             | Usar um secret existente em vez de criar um novo.                   | `false`                            |
| `transaction.existingSecretName`                            | Nome do secret existente a ser usado.                               | `""`                               |
| `transaction.extraEnvVars`                                  | Lista de variáveis de ambiente extras.                              | `[]`                               |
| `transaction.serviceAccount.create`                         | Especifica se uma ServiceAccount deve ser criada.                   | `true`                             |
| `transaction.serviceAccount.annotations`                    | Annotations para a ServiceAccount.                                  | `{}`                               |
| `transaction.serviceAccount.name`                           | Nome da service account.                                            | `""`                               |

#### Criando o secret do Transaction manualmente

Se você deseja usar um Kubernetes Secret existente para o serviço transaction:

```bash theme={null}
kubectl create secret generic midaz-transaction \
  --from-literal=MONGO_PASSWORD='<your-mongo-password>' \
  --from-literal=DB_PASSWORD='<your-db-password>' \
  --from-literal=DB_REPLICA_PASSWORD='<your-db-replica-password>' \
  --from-literal=RABBITMQ_DEFAULT_PASS='<your-rabbitmq-password>' \
  --from-literal=RABBITMQ_CONSUMER_PASS='<your-rabbitmq-consumer-password>' \
  --from-literal=REDIS_PASSWORD='<your-redis-password>' \
  -n midaz
```

<Note>
  O serviço transaction requer uma chave de secret adicional `RABBITMQ_CONSUMER_PASS` em comparação ao onboarding.
</Note>

Depois configure o serviço transaction para usar este secret existente:

```yaml theme={null}
transaction:
  useExistingSecret: true
  existingSecretName: "midaz-transaction"
```

### CRM (Customer relationship management)

O serviço `crm` fornece APIs para gerenciar dados de holders e seus relacionamentos com contas do ledger. Anteriormente disponível como um chart separado (`plugin-crm`) implantado no namespace `midaz-plugins`, o CRM agora está integrado ao Helm chart principal do Midaz e é implantado no namespace `midaz`.

<Note>
  Se você está atualmente usando o `plugin-crm` no namespace `midaz-plugins`, recomendamos migrar para este novo workload integrado de CRM. Veja o guia [Atualizando o Helm](/pt/platform/helm/midaz/midaz-upgrade-guide) para os passos de migração.
</Note>

<Tip>
  Para mais detalhes sobre a funcionalidade do CRM, consulte a [Documentação do CRM](/pt/midaz/crm/crm-overview).
</Tip>

**Habilitando o serviço CRM:**

```yaml theme={null}
crm:
  enabled: true
  configmap:
    MONGO_HOST: "midaz-mongodb"  # Use your MongoDB host
    MONGO_NAME: "crm"
    MONGO_USER: "midaz"
  secrets:
    MONGO_PASSWORD: "lerian"
```

| Parâmetro                                           | Descrição                                                                  | Valor Padrão               |
| :-------------------------------------------------- | :------------------------------------------------------------------------- | :------------------------- |
| `crm.enabled`                                       | Habilita ou desabilita the CRM service.                                    | `false`                    |
| `crm.name`                                          | Nome do serviço.                                                           | `"crm"`                    |
| `crm.replicaCount`                                  | Número de réplicas para o serviço CRM service.                             | `1`                        |
| `crm.image.repository`                              | Repositório da imagem de container do serviço CRM service .                | `"lerianstudio/midaz-crm"` |
| `crm.image.pullPolicy`                              | Política de pull da imagem.                                                | `"Always"`                 |
| `crm.image.tag`                                     | Tag da imagem usada para o deployment.                                     | `"3.5.3"`                  |
| `crm.imagePullSecrets`                              | Secrets para pull de imagens de um registro privado.                       | `[]`                       |
| `crm.nameOverride`                                  | Sobrescreve o nome padrão gerado pelo Helm.                                | `""`                       |
| `crm.fullnameOverride`                              | Sobrescreve o nome completo gerado pelo Helm.                              | `""`                       |
| `crm.podAnnotations`                                | Annotations do pod para metadados adicionais.                              | `{}`                       |
| `crm.podSecurityContext`                            | Contexto de segurança aplicado no nível do pod.                            | `{}`                       |
| `crm.securityContext.*`                             | Define configurações de contexto de segurança para o container.            | See `values.yaml`          |
| `crm.pdb.enabled`                                   | Especifica se o PodDisruptionBudget está habilitado.                       | `true`                     |
| `crm.pdb.minAvailable`                              | Número mínimo de pods disponíveis.                                         | `1`                        |
| `crm.pdb.maxUnavailable`                            | Número máximo de pods indisponíveis.                                       | `1`                        |
| `crm.pdb.annotations`                               | Annotations para o PodDisruptionBudget.                                    | `{}`                       |
| `crm.deploymentUpdate.type`                         | Tipo de estratégia de deployment.                                          | `"RollingUpdate"`          |
| `crm.deploymentUpdate.maxSurge`                     | Número máximo de pods que podem ser criados acima do número desejado.      | `1`                        |
| `crm.deploymentUpdate.maxUnavailable`               | Número máximo de pods que podem estar indisponíveis durante a atualização. | `1`                        |
| `crm.service.type`                                  | Tipo de serviço Kubernetes.                                                | `"ClusterIP"`              |
| `crm.service.port`                                  | Porta do serviço.                                                          | `4003`                     |
| `crm.ingress.enabled`                               | Especifica se o Ingress está habilitado.                                   | `false`                    |
| `crm.ingress.className`                             | Nome da classe do Ingress.                                                 | `""`                       |
| `crm.ingress.annotations`                           | Annotations adicionais do ingress.                                         | `{}`                       |
| `crm.ingress.hosts`                                 | Hosts configurados para Ingress e paths associados.                        | `[]`                       |
| `crm.ingress.tls`                                   | Configurações TLS para Ingress.                                            | `[]`                       |
| `crm.resources.*`                                   | Requests/limits de recursos CPU/Memória.                                   | See `values.yaml`          |
| `crm.autoscaling.enabled`                           | Especifica se o autoscaling está habilitado.                               | `true`                     |
| `crm.autoscaling.minReplicas`                       | Número mínimo de réplicas para autoscaling.                                | `1`                        |
| `crm.autoscaling.maxReplicas`                       | Número máximo de réplicas para autoscaling.                                | `3`                        |
| `crm.autoscaling.targetCPUUtilizationPercentage`    | Percentual alvo de utilização de CPU para autoscaling.                     | `80`                       |
| `crm.autoscaling.targetMemoryUtilizationPercentage` | Percentual alvo de utilização de memória para autoscaling.                 | `80`                       |
| `crm.nodeSelector`                                  | Seletores de node para agendamento de pods.                                | `{}`                       |
| `crm.tolerations`                                   | Tolerations para agendamento de pods.                                      | `{}`                       |
| `crm.affinity`                                      | Regras de afinidade para agendamento de pods.                              | `{}`                       |
| `crm.configmap.*`                                   | Variáveis de ambiente para o serviço.                                      | See `values.yaml`          |
| `crm.secrets.*`                                     | Secrets para o serviço.                                                    | See `values.yaml`          |
| `crm.useExistingSecret`                             | Usar um secret existente em vez de criar um novo.                          | `false`                    |
| `crm.existingSecretName`                            | Nome do secret existente a ser usado.                                      | `""`                       |
| `crm.extraEnvVars`                                  | Lista de variáveis de ambiente extras.                                     | `{}`                       |

#### Criando o secret do CRM manualmente

Se você deseja usar um Kubernetes Secret existente para o serviço CRM:

```bash theme={null}
kubectl create secret generic midaz-crm \
  --from-literal=LCRYPTO_HASH_SECRET_KEY='<your-hash-secret-key>' \
  --from-literal=LCRYPTO_ENCRYPT_SECRET_KEY='<your-encrypt-secret-key>' \
  --from-literal=MONGO_PASSWORD='<your-mongo-password>' \
  -n midaz
```

Depois configure o serviço CRM para usar este secret existente:

```yaml theme={null}
crm:
  enabled: true
  useExistingSecret: true
  existingSecretName: "midaz-crm"
```
