Cada serviço do Midaz pode ser exposto de forma independente via ingress. O bloco de ingress é idêntico entre os serviços (Ledger, Onboarding, Transaction, CRM, Grafana) — configure-o na seção .ingress de cada serviço no values.yaml.Para usar o ingress, você precisa de um ingress controller em execução no seu cluster (ex.: NGINX, AWS ALB ou Traefik) e entradas DNS apontando para ele.
Você pode habilitar o ingress por serviço no seu arquivo values.yaml e configurar hostnames, secrets TLS e quaisquer annotations específicas do controller.
Integração com cert-manager: Se você usa cert-manager para TLS automático, adicione a annotation cert-manager.io/cluster-issuer: <issuer-name> e defina tls.secretName — o cert-manager provisionará o certificado automaticamente.
As seções a seguir fornecem exemplos de configuração para os ingress controllers mais comuns.
Para usar o NGINX Ingress Controller, configure o values.yaml da seguinte forma:
ingress: enabled: true className: "nginx" # The `annotations` field is used to add custom metadata to the Nginx resource. # Annotations are key-value pairs that can be used to attach arbitrary non-identifying metadata to objects. # These annotations can be used by various tools and libraries to augment the behavior of the Nginx resource. # See more https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md annotations: {} hosts: - host: midaz.example.com paths: - path: / pathType: Prefix tls: - secretName: midaz-tls # Ensure this secret exists or is managed by cert-manager hosts: - midaz.example.com
Confira a documentação oficial do ingress-nginx para uma referência completa sobre annotations do Nginx.
Para o AWS ALB Ingress Controller, configure o values.yaml da seguinte forma:
ingress: enabled: true className: "alb" annotations: alb.ingress.kubernetes.io/scheme: internal # Use "internet-facing" for public ALB alb.ingress.kubernetes.io/target-type: ip # Use "instance" if targeting EC2 instances alb.ingress.kubernetes.io/group.name: "midaz" # Group ALB resources under this name alb.ingress.kubernetes.io/healthcheck-path: "/healthz" # Health check path alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]' # Listen on HTTP and HTTPS hosts: - host: midaz.example.com paths: - path: / pathType: Prefix tls: [] # TLS is managed by the ALB using ACM certificates