0027 — Adota o CI 100% GitHub Actions e o deploy pelo control-plane¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-11 · Decidido em: 2026-08-31
Contexto¶
Este RD não decide nada novo. O deploy orquestrado pelo central-backend, disparado pelo CI por
API M2M, é norma da casa — ADR central
0026. O CI/CD num pipeline.yml
único no GitHub Actions também — ADR central
0027. Os dois chegaram aqui no mesmo
dia. O que faltava era o rastro local.
O número desta decisão local coincide por acaso com o do ADR central 0027.
Decisão¶
Em 2026-08-31, dois passos:
- Deploy pelo control-plane (commit
8ef6e39): o CI passou a pedir o deploy ao central-backend, autenticado porCENTRAL_DEPLOY_TOKEN(secret do repo no GitHub), no lugar da ponte SSH forced-command, cuja allow-list de uuid ficava órfã a cada cutover blue-green. - Pipeline único (commit
4f44bb8, mesmo dia): o.github/workflows/pipeline.yml, na variante jar (app.jsonbuild.targets: [jar]), funde gate, docs, build e deploy, e o Forgejo deixa de rodar CI deste repo.
O deploy ancora na imagem fonte.xadm.biz/xadm/integrador-server. O slug da imagem difere do
app_id (integrador), como o
ADR central 0024 permite, e o control-plane
resolve pela imagem. O endereço do control-plane é o domínio estável central-backend.xadm.biz, sem
flavor de build (constituição §9).
Consequências¶
- Um pedido, seis recursos. As instâncias por cliente compartilham a imagem. O central separa os recursos Coolify pela instância derivada do FQDN e deploya todas as instâncias num pedido só.
- O pedido de deploy é assíncrono: o central só enfileira. Quem confirma a entrega nas seis bases é o smoke de produção (decisão local 0022).
- O
pipeline.ymlé template rastreado da casa: muda por re-derivação (/xadm-docs), não por edição solta. - Este RD é ponteiro: divergência de mérito sobre o control-plane ou o modelo de CI se resolve nos ADRs centrais 0026 e 0027, não aqui.