Este projeto representa uma transformação fundamental na forma como a Messagefy opera sua infraestrutura. O objetivo é implantar, de forma controlada e completamente rastreável, uma nova fundação tecnológica que elimina a fragilidade operacional e estabelece padrões de engenharia rigorosos para toda a plataforma.
O conceito central é simples mas poderoso: tudo o que existe no ambiente precisa ser reproduzível a partir de código versionado, e qualquer mudança deve acontecer através de um fluxo auditável. Isso significa abandonar definitivamente o modelo "configuração manual em servidor" e adotar um modelo onde o ambiente pode ser reconstruído, escalado e recuperado por automação.
A arquitetura final é baseada em infraestrutura bare-metal virtualizada com Proxmox, orquestrada com Kubernetes e governada por três pilares fundamentais: Infrastructure as Code, GitOps e CI/CD com DevSecOps.
Provisionamento e bootstrap do ambiente utilizando Terraform para criação e ciclo de vida de VMs e recursos, combinado com Ansible para configuração do sistema operacional, hardening e bootstrap do cluster Kubernetes. Todo o ambiente é versionado e reproduzível.
Modelo operacional do cluster utilizando ArgoCD, garantindo que o cluster sempre reflita o estado desejado definido no repositório Git. Detecção e correção automática de divergências (drift) mantêm a consistência operacional.
Pipelines padronizadas com GitLab CI e Harbor para que toda build, teste, criação de imagem, verificação de segurança e promoção de release ocorra de forma controlada, com rastreabilidade completa do commit até a produção.
Ao final da implementação, a plataforma será estruturada em camadas bem definidas, cada uma com responsabilidades claras e interfaces padronizadas. Esta arquitetura foi projetada para suportar crescimento sustentável e operação previsível.
Cloudflare para proteção, DNS e otimizações, combinado com Ingress Controller para entrada HTTP/HTTPS e API Gateway (APISIX) para controle de autenticação, rate limiting e gestão de consumers.
RabbitMQ para mensageria, Dragonfly para cache distribuído, PostgreSQL Core com CloudNativePG, ETCD para configuração do gateway, e stack completa de observabilidade com métricas, logs e dashboards.
Messagefy API/Webhook para recepção de requisições, Workers/Dispatcher para processamento assíncrono, e Storagefy para gestão de objetos e mídias com deduplicação inteligente.
Frota de instâncias Whatsmeow com estratégia de escala horizontal, integração otimizada com RabbitMQ e persistência de sessão projetada para minimizar tempo de spawning e pressão no banco.
Cloudflare R2 como backend para mídias/objetos (Storagefy) e destino de backup via Velero, eliminando custos de egress e complexidade operacional de soluções auto-gerenciadas.
A implementação acontece por fases deliberadas, porque a construção depende de camadas. Cada fase estabelece uma fundação sólida para a próxima, com entregáveis verificáveis e critérios de aceite claros.
O projeto começa pela fundação física e de virtualização, preparando e padronizando o ambiente bare-metal para ser consumível por automação via APIs e templates. Uma vez estabelecida essa base, o pipeline de provisionamento Terraform cria VMs de forma repetível, com endereçamento previsível e inventário automatizado.
Com as VMs provisionadas, o Ansible transforma essas máquinas em nós Kubernetes, aplicando hardening, ajustes de kernel, instalação do runtime e bootstrap completo do cluster. Ao final desta fase, o cluster está operacional e pronto para receber componentes.
A partir desse ponto, o projeto migra para o modelo GitOps: o ArgoCD passa a gerenciar o estado do cluster, substituindo comandos manuais por sincronização automática a partir do Git. Então são implantados os componentes fundamentais (ingress, storage, observabilidade, backup) e a camada de segurança (RBAC, Network Policies, gestão de segredos).
Finalmente, com toda a fundação pronta, são estabelecidas as pipelines de CI/CD padronizadas e, somente então, as aplicações são implantadas sobre essa plataforma robusta e auditável.
Este documento funciona como o guia operacional completo da implementação. Ele responde, sem ambiguidades, o que será implementado, em qual ordem, com quais ferramentas, como cada etapa funciona, e quais pipelines e artefatos serão criados.
Ambiente para o Messagefy operar com previsibilidade, controle e escala. Cluster Kubernetes em infraestrutura bare-metal/Proxmox, provisionado via IaC com Terraform e Ansible.
ArgoCD como controlador central com repositório de manifestos e organização clara de ambientes (dev, staging, prod). O Git se torna a fonte única de verdade.
GitLab CI padronizado para IaC, bootstrap, build de imagens com scan de segurança via Harbor, e promoção de releases via GitOps. Controles DevSecOps integrados (secret detection, SCA, SAST, IaC scanning).
Longhorn para StorageClasses com perfis de performance, Velero para backup de volumes e metadados, e Cloudflare R2 como backend de object storage e destino de backup.
RBAC por ServiceAccount com mínimo privilégio, Network Policies deny-by-default, gestão de segredos com Vault, certificados via cert-manager, audit log e hardening de SO via Ansible.
Documentação completa de procedimentos e critérios de aceite por fase, permitindo operação consistente e transferência de conhecimento.
O ambiente alvo assume Bare Metal First como estratégia principal, priorizando custo previsível, performance superior e eliminação de custos de egress — fatores críticos para uma plataforma de alto volume como o Messagefy.

IaC: Infraestrutura descrita como código versionado. GitOps: Git como fonte de verdade, cluster aplica mudanças lendo repositório.
Terraform: cria/gerencia recursos de forma declarativa. Ansible: configura e prepara máquinas (SO, runtime, Kubernetes).
ArgoCD: controla aplicações no K8s via Git (modelo pull). Harbor: registry corporativo com scan de vulnerabilidades.
Longhorn: storage distribuído para Kubernetes bare metal. Velero: backup/restore de metadados e volumes.
CNI (Container Network Interface) e implementação de Network Policies usando eBPF para alta performance e segurança avançada.
Configurar prefetch_count para processar batch de mensagens por round-trip, reduzindo impacto da latência no throughput geral.
Projetar topologia para garantir latência < 50ms entre consumers críticos e o broker, posicionando componentes estrategicamente.
Avaliar RabbitMQ regionalizado (federation/shovel) conforme evolução e distribuição geográfica dos componentes.
A base de código será organizada em repositórios especializados, cada um com responsabilidades bem definidas e pipelines específicas. Esta separação facilita governança, controle de acesso e evolução independente.
Infraestrutura e Bootstrap
Estado Desejado do Cluster
Código dos Microsserviços
Cada fase termina com entregáveis verificáveis e um checklist de aceite rigoroso. A fase seguinte depende do aceite da anterior, garantindo fundação sólida em cada etapa.
"A implementação não é um grande salto — é uma sequência de passos validados, onde cada etapa estabelece a fundação para a próxima."

Transformar "servidor contratado" em "plataforma consumível por IaC" — esta é a fundação de tudo que vem depois.
Contratação e configuração inicial dos servidores físicos com especificações validadas na Fase 0.
Setup da camada de virtualização com configuração de bridges, VLANs e roteamento básico.
Criação de usuários/tokens de API para automação e templates de VM (Debian 12 + cloud-init).
Entregáveis:
Critérios de Aceite:
Criar VMs e rede "apertando um botão", sem ações manuais repetitivas. O Terraform garante idempotência e reprodutibilidade completa do ambiente.
Pipeline em quatro estágios: fmt (formatação), validate (validação sintática), plan (preview de mudanças) e apply (execução aprovada). O estágio apply requer aprovação manual em branch protegida.
Transformar "VM recém-criada" em "nó Kubernetes pronto" através de automação completa. O Ansible aplica configurações, hardening e inicializa o cluster de forma repetível.
Desabilitar swap, ajustar sysctl (rede, conntrack, fs.inotify), configurar limites de arquivos, NTP, módulos de kernel e baseline SSH.
Containerd 2.0+ com configuração padrão compatível com Kubernetes, garantindo consistência em todos os nós.
Inicialização do primeiro control plane, join dos outros control planes via kubeadm e join dos workers no cluster.
Instalação via Helm/CLI e validação completa de conectividade através do cilium connectivity test.
A partir deste ponto, o modelo operacional muda fundamentalmente. O ArgoCD se torna o controlador central, e mudanças no Git se traduzem automaticamente em mudanças no cluster.
Uma aplicação raiz no ArgoCD aponta para o repositório gitops-manifests. Essa aplicação raiz referencia todas as outras aplicações (infra, observability, security, apps), criando uma árvore de dependências gerenciada automaticamente.
Ingress, cert-manager, external-secrets, Longhorn
Prometheus, Grafana, Loki para métricas e logs
RBAC, NetworkPolicies, audit policy
Messagefy, workers, Storagefy, Whatsmeow
Drift Correction: O ArgoCD detecta e corrige automaticamente divergências entre o estado desejado (Git) e o estado real (cluster), garantindo consistência operacional contínua.
Instalação dos componentes padrão do cluster antes das aplicações: ingress, storage, observabilidade e certificados. Todos gerenciados via GitOps para garantir reprodutibilidade.
3 réplicas, discos NVMe, dataLocality ajustado. Para PostgreSQL, RabbitMQ e workloads sensíveis a latência.
2 réplicas, workloads menos sensíveis. Balanço entre resiliência e uso de recursos.
Para casos extremos de latência (cache, buffers temporários). Sem replicação, máxima performance.

Colocar baseline de segurança antes de expor produção — não como um ajuste posterior. Segurança é estrutural, não opcional.
Cada aplicação tem ServiceAccount própria com Role mínima no namespace e RoleBinding específico. Princípio de mínimo privilégio aplicado rigorosamente.
Política global por namespace com default deny para ingress/egress. Liberações explícitas por serviço: API → RabbitMQ, Worker → RabbitMQ, Storagefy → R2, Apps → Postgres.
Regra absoluta: sem segredos no Git. Vault + External Secrets Operator (com POC Infisical). Certificados públicos via cert-manager + Let's Encrypt.
Kubernetes audit policy para rastrear quem fez, quando, qual recurso, de onde. Ansible role de hardening com baseline controlado aplicado em todos os nós.
Criar pipelines padronizadas onde toda build, teste, criação de imagem e promoção de release aconteça de forma controlada, com rastreabilidade completa do commit até produção.
Validação de código e testes unitários
Construção de imagem Docker
Trivy/Harbor para vulnerabilidades
Harbor registry corporativo
Promoção via manifests
gitleaks/trufflehog para detectar segredos expostos no código
Análise de dependências vulneráveis
Análise estática e dinâmica quando aplicável
Checkov para Terraform/K8s manifests
Somente após toda a fundação estar pronta e validada, as aplicações são implantadas. Esta é a última fase porque depende de todas as camadas anteriores.
Banco de dados central com alta disponibilidade
Message broker para comunicação assíncrona
Cache distribuído de alta performance
Gestão de objetos com integração R2
Camada de API e recepção de webhooks
Processamento assíncrono de mensagens
Frota de instâncias WhatsApp
Pendente: Política de retention/lifecycle e versionamento de objetos. Workshop com time de negócio para definir regras de retenção alinhadas com compliance.

PostgreSQL Centralizado
Schema-per-device, consistência forte, queries complexas possíveis
A arquitetura do Messagefy foi projetada em dois domínios operacionais distintos para garantir controle, previsibilidade e escalabilidade. O Domínio Core concentra os serviços de negócio e infraestrutura (API, workers, gateway, broker, storage, observabilidade), enquanto o Domínio Provider executa em grande escala as instâncias Whatsmeow (1 container por device/telefone).
Ao final do projeto, o cliente terá muito mais do que "Kubernetes rodando" — terá uma plataforma operacional completa onde infraestrutura, segurança e entrega contínua trabalham juntos.
Cluster pode ser reconstruído por código versionado
Aplicações entregues via GitOps com rastreabilidade completa
Segurança aplicada por padrão, não como ajuste posterior
"Este projeto não é apenas sobre tecnologia — é sobre criar previsibilidade, reduzir risco e estabelecer fundação para crescimento sustentável do negócio."
Plataforma de Infraestrutura Messagefy: Uma Nova Fundação Operacional