Skip to content

Decisões Arquiteturais (ADRs)

Resumo das decisões arquiteturais que orientam a operação da organização middag-io.

ADRTítuloContextoDecisãoStatus
001Convenção de NomesGitHub não tem agrupamento por projetos como Bitbucket.Prefixos obrigatórios por família (moodle-*, wp-plugin-*, docker-*, etc).Aceita
002Modelo de BranchesRepos Bitbucket usavam modelos mistos sem padronização.main (produção) + develop (integração) + feature/* + hotfix/*, com release-please.Aceita
003Estratégia de ReleaseVersionamento e changelogs precisam ser automatizados com suporte a públicos diferentes.release-please com Conventional Commits; produtos comerciais mantêm CHANGELOG-USER.md separado.Aceita
004Estratégia de Migração~75 repos ativos no Bitbucket precisam migrar gradualmente para GitHub.Cutover imediato por repo, sem dual-remote; Bitbucket vira read-only após migração.Aceita
0051Password + GitHub ActionsCI/CD precisa de acesso seguro a secrets sem PATs de longa duração.Modelo híbrido: Service Accounts por projeto no CI; 1Password Connect em produção.Aceita
006Workflows ReutilizáveisDuplicação de pipelines entre repos causa drift e manutenção excessiva.Centralizar workflows reutilizáveis; repos consumidores usam wrappers finos com inputs.Aceita
007Registry DockerImagens Docker precisam de registry para CI e deploys; setup atual usa dual-push GHCR + ECR.GHCR como padrão; ECR opcional via variável PUSH_TO_ECR, copiado com crane copy.Aceita
008Imagem Base de CIBitbucket exigia imagem Docker customizada; GitHub Actions já tem ferramentas nativas.Sem imagem customizada; usar setup nativo do GitHub Actions com shivammathur/setup-php.Aceita
009Agentes e Plugins de IAAgentes IA geram estado local que pode poluir repos e causar conflitos entre devs.Não versionar estado local de agentes; gitignore obrigatório; documentar ferramentas obrigatórias.Aceita
010Nomenclatura 1PasswordSecrets para CI, servidores e dev local precisam de nomenclatura consistente e controle de acesso.Vaults CI-{PROJECT}, itens {SERVIÇO}-{contexto}, campos snake_case EN; 3 padrões de consumo.Aceita
011Docker + Dev ContainerProjetos Docker precisam de setup padronizado para Dev Containers, CI e produção.Multi-stage Dockerfile, compose base+override, Xdebug controlável, secrets via 1Password.Aceita

MIDDAG Tecnologia