Stack Python no commons
TLDR: Criar a stack Python no
.commons(make + docker compose) e migrar oonion-backendpara usá-la, seguindo o padrão da stack Ruby.
Contexto
O onion-backend tem Makefile e docker-compose.yml customizados e acoplados ao projeto. O .commons já suporta Ruby, Elixir, React e N8N, mas não Python. O objetivo é criar a stack Python no commons para padronizar o projeto com o restante do monorepo.
Objetivos
- Criar stack make Python no
.commonscom todos os targets do contrato - Criar stack docker compose Python com volume de cache do UV
- Criar shared services genéricos:
messagebroker.yml,beat.yml - Migrar o
onion-backendpara usar o commons (Makefile +compose.yml)
Fora de escopo
— (não registrado na spec original)
Mudanças
Commons (arquivos novos):
- .commons/make/stacks/python.mk
- .commons/make/stacks/python/code.mk
- .commons/make/stacks/python/_container.mk
- .commons/make/stacks/python/_shortcuts.mk
- .commons/make/stacks/python/ci.mk
- .commons/make/stacks/python/deploy.mk
- .commons/docker/compose/stacks/python.yml
- .commons/docker/compose/shared/messagebroker.yml
- .commons/docker/compose/shared/beat.yml
onion-backend (modificados):
- Makefile → include .commons/make/main.makefile
- docker-compose.yml → renomear para compose.yml com includes do commons
- .project/make/overrides.mk → criar (env vars do Django)
- .project/docker/compose/dependencies.yml → criar
Como verificar
make help→ lista todos os targetsmake install→ rodauv syncmake start→ sobe a stack completamake test→ roda pytestmake lint→ roda pre-commit + pylintmake db.migrate→ roda migrations via containermake deploy.staging→ mostra “not implemented yet!”
Documentação
— (não registrado na spec original)