← Voltar aos projetos
Plataforma InternaGitOpsExperiência do Desenvolvedor

Deploys GitOps com Kustomize multi-imagem

Empresa
Toptal — cliente Fashion Digital
Função
Senior Site Reliability & Platform Engineer
Tempo na empresa
ago. de 2025 — set. de 2026

Problema

A plataforma interna de GitOps assumia uma única imagem por deployment, reconstruía lentamente sua visão do estado dos deployments e exigia validação manual antes dos releases de desenvolvimento. Serviços multi-container precisavam de adaptações específicas, e os desenvolvedores não conseguiam ter informações atualizadas na plataforma.

Abordagem

Refatorei a aplicação em Python/Flask para aceitar atualizações granulares de imagens no Kustomize e webhooks do GitHub por meio de uma API em Flask e uma GUI em React. Adicionei regras de autorização baseadas em repositórios Github, OAuth automático do GitHub, webhooks assinados com HMAC, cache no Firestore e requisições condicionais com ETag, além de cobrir o fluxo de release com testes de integração em Playwright.

Impacto

  • O tempo de execução do GitHub Actions caiu em aproximadamente uma hora por dia no agregado da plataforma, já que deployments da plataforma estática não eram mais necessários.
  • O carregamento da interface caiu para aproximadamente 350 ms, enquanto o estado dos deployments passou a ser atualizado quase em tempo real.
  • A cobertura automatizada com Playwright removeu aproximadamente 20 minutos de validação manual em cada release de desenvolvimento.
  • Serviços multi-container ganharam o mesmo caminho de deployment self-service, seguro e auditável que aconteciam em serviços com uma única imagem.

Stack técnica

PythonFlaskArgo CDKustomizeKubernetesGitHubFirestorePlaywright