O que os templates criam
Na GCP, os templates não criam banco de dados compatível com MongoDB nem broker RabbitMQ. No Azure, eles não criam broker RabbitMQ. Provisione esses serviços por conta própria nessas nuvens.
AWS
Na AWS, você roda os templates com o Terraform e a CLI
aws. Cada stack em examples/aws/ é uma raiz Terraform separada, com o próprio estado, e você aplica as stacks uma de cada vez. A seção AWS do README do repositório traz cada comando.
Você precisa do Terraform 1.9.0 ou posterior e da CLI aws. Os passos depois do cluster também precisam do kubectl e do helm.
O deploy de um ambiente aplica estas stacks nesta ordem:
bootstrap: o bucket de estado e a tabela de lock. Aplique uma vez por ambiente.infra-base: a VPC e depois o cluster EKS.- As stacks do Midaz em
examples/aws/products/midaz/:postgres,documentdb,valkeyerabbitmq.
helm_values, as configurações do chart que a stack consegue preencher. Nenhuma saída carrega uma senha. Cada stack de datastore guarda a senha no AWS Secrets Manager e exporta o nome do segredo. O External Secrets Operator, que você instala, copia a senha para um Secret do Kubernetes. A role IAM dele vem da stack lerian-platform/eso.
O Amazon MQ aceita apenas conexões AMQPS. Se você escrever os values por conta própria, defina
RABBITMQ_URI como amqps.GCP e Azure
Na GCP e no Azure, um script interativo roda os templates. Cada diretório de componente tem seus próprios arquivos
backend.tf e midaz.tfvars. Você precisa do Terraform e da CLI do seu provedor de nuvem: gcloud para GCP ou az para Azure.
1
Crie o bucket de estado
GCP:Azure:
2
Configure cada componente
backend.tf pelos dados do seu bucket de estado. Depois substitua os placeholders do midaz.tfvars pelos seus valores.3
Rode o script
Na raiz do repositório, rode:Selecione o provedor de nuvem e a ação: deploy ou destroy.
backend.tf ainda contém um placeholder. Ele faz o deploy de cada componente em uma ordem fixa e para na primeira falha. Um destroy roda na ordem inversa.
Autentique-se no seu provedor de nuvem
Use as ferramentas de autenticação da CLI do seu provedor de nuvem em vez de credenciais brutas:
- AWS: Managing AWS access keys.
- GCP: Managing service account keys.
- Azure: Identity management best practices.
Instale o Midaz
Quando a infraestrutura estiver pronta, instale o Midaz no cluster com Helm. Na AWS, use o arquivo de values que a ferramenta grava. Na GCP e no Azure, leia os endpoints com
terraform output e defina-os no seu arquivo de values. Para o chart e seus values, veja Deploy usando Helm.
Dicas de segurança
Para manter a infraestrutura do Midaz segura, siga estas recomendações:
- Use clusters Kubernetes privados para limitar a exposição pública. Os templates não criam uma VPN.
- Configure e aplique RBAC (Role-Based Access Control) para gerenciar as permissões dos usuários.
- Guarde todos os segredos no serviço de gerenciamento de segredos do provedor de nuvem.
- Dê às service accounts apenas as permissões de que elas precisam.
Precisa de ajuda?
- Leia o README dentro do diretório em que você faz o deploy.
- Abra um ticket no Lerian Support Portal.

