Cada mudança é um pull request revisado que passa por verificações automáticas antes de um deploy automático e reversível.
01Ciclo de desenvolvimento
- Design: mudanças que envolvem autenticação, autorização ou dados pessoais são desenhadas segundo os controles OWASP Top 10.
- Construção: todo o código-fonte fica em repositórios privados no GitHub. Cada mudança é feita em um branch e incorporada por um pull request.
- Verificação: checagem de tipos, testes de Go e verificações de build rodam em cada mudança. As próprias verificações são testadas injetando um erro conhecido e confirmando que elas o detectam.
- Publicação: os deploys em produção rodam a partir de um pipeline automatizado em máquinas de build de vida curta, usando só o commit incorporado.
- Observação: cada versão é conferida em produção depois do deploy, com o identificador da versão visível nos cabeçalhos de resposta.
02Controle de mudanças
- Mudanças de infraestrutura (servidores, redes, permissões, alarmes) são código Terraform e Ansible e passam pelo mesmo fluxo de pull request, com uma verificação de infraestrutura própria.
- Dois deploys do mesmo serviço nunca rodam ao mesmo tempo.
- Cada versão é versionada; a anterior fica no servidor, então voltar atrás é uma troca de versão e não uma reconstrução.
03Ambientes e dados
O desenvolvimento usa contas e programas de teste. Dados de produção não são copiados para as máquinas dos desenvolvedores, e o acesso a dados de produção para suporte se limita ao que a tarefa de suporte exige.
04Contato
Dúvidas sobre esta política, questionários de segurança e pedidos do Acordo de Processamento de Dados: privacy@mentornity.com.