Os apps na nuvem¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-23
Aplica-se a: todo perfil.
O inventário do que a X-Adm mantém no ar: cada aplicação, de quem ela é, que papel cumpre, em que endereço responde e em que stack foi escrita. O papel vem da taxonomia da Plataforma de Integração — é ele que explica por que um app existe, e não apenas que ele existe.
A identidade de cada linha é o slug: um app tem um nome só. Ele vale ao mesmo tempo como
identificador no catálogo, nome da imagem no registro e nome do projeto de erros
(decisão 0038). A fonte de cada linha é o docs/app.json
do repo correspondente, descrito em Central de Apps.
Aplicações da X-Adm¶
Fazem parte do produto: servem a todos os clientes que usam o módulo correspondente.
| Slug | Papel | Endereço | Stack |
|---|---|---|---|
integrador-server |
Plataforma de Integração — o espelho do ERP, uma instância por cliente | int.<cliente>.xadm.biz |
Java/Micronaut |
integrador-sascar |
App compartilhado — uma instância atende todos os clientes contra a Sascar | sascar.xadm.biz |
Java/Micronaut |
integrador-client |
Ponte com o ERP — não roda na nuvem, e sim no servidor do cliente | — | Java 8 e PowerSync |
central-backend |
Central de Apps — autenticação, broker de provisão e control-plane de deploy | central-backend.xadm.biz (alias auth.xadm.biz) |
Java/Micronaut |
central-ui |
Central de Apps — o painel de administração da própria X-Adm | central.xadm.biz |
Dart/Flutter |
Aplicações por cliente¶
Feitas sob medida. O prefixo do slug é sempre o cliente.
| Slug | Cliente | Papel | Endereço | Stack |
|---|---|---|---|---|
maxsul-pied |
Maxsul | App específico — entrada: recebe do parceiro PIED e grava o estado desejado | pied.maxsul.xadm.biz |
Java/Micronaut |
onpetro-bi |
OnPetro | App consumidor — a tela do usuário final, lendo por PowerSync | bi.onpetro.xadm.biz |
Dart/Flutter |
onpetro-xls |
OnPetro | App específico — batch: recebe planilha do ERP e escreve as tabelas dele | excel.onpetro.xadm.biz |
Java/Micronaut |
sulplata-ho-scraper |
Sulplata | App específico — coleta em portal de terceiro; processo de trabalho, sem porta pública | — | Node.js/Patchright |
thoms-webstorm |
Thoms | App específico — saída: transforma e envia ao WebStorm do parceiro | webstorm.thoms.xadm.biz |
Java/Micronaut |
vantroba-bi |
Vantroba | App consumidor — a tela do usuário final, lendo por PowerSync | bi.vantroba.xadm.biz |
Dart/Flutter |
vantroba-xls |
Vantroba | App específico — batch: recebe planilha do ERP e escreve as tabelas dele | excel.vantroba.xadm.biz |
Java/Micronaut |
Instâncias de sincronização¶
O PowerSync é o transporte entre o banco do cliente, as telas e o programa que roda no ERP. Cada
cliente tem a sua instância e as suas regras de sincronização, versionadas em repo próprio de
perfil config — não é aplicação, é configuração publicada.
| Slug | Cliente | Endereço |
|---|---|---|
maxsul-powersync |
Maxsul | ps.maxsul.xadm.biz |
onpetro-powersync |
OnPetro | ps.onpetro.xadm.biz |
onpetrotrading-powersync |
OnPetro Trading | ps.onpetrotrading.xadm.biz |
pontual-powersync |
Pontual | ps.pontual.xadm.biz |
sulplata-powersync |
Sulplata | ps.sulplata.xadm.biz |
vantroba-powersync |
Vantroba | ps.vantroba.xadm.biz |
Serviços de plataforma¶
Não são aplicações de cliente: é a infraestrutura que todas usam. O papel de cada um está em Infraestrutura.
| Serviço | Para quê | Endereço |
|---|---|---|
| Forgejo | origem do git, registro de imagens e de pacotes | fonte.xadm.biz |
| Coolify | executa os containers de todos os apps | painel interno |
| Garage | armazenamento de arquivos compatível com S3 | arquivo-api.xadm.biz |
| GlitchTip | rastreamento de erros de todos os apps | bug.xadm.biz |
| Metabase | painéis sobre os dados dos clientes | metabase.xadm.biz |
| Aptabase | telemetria de uso dos apps | aptabase.xadm.biz |
| Documentação | este site | docs.xadm.biz |
| Acesso único | login Google das telas internas | sso.xadm.biz |
Como ler este inventário¶
Um cliente não precisa ter todos os tipos de app. A instância de sincronização é o piso: existe para todo cliente que consome dado da nuvem. Acima dela, cada cliente tem só o que o contrato dele pede — um espelho do ERP, um app de planilha, uma integração com parceiro, uma tela.
Endereço vazio não é app parado. Dois casos não expõem porta pública: o programa que roda no servidor do cliente e o processo de coleta, que trabalha sem receber chamada de fora.
Uma biblioteca não aparece aqui. O código compartilhado entre os apps da casa
(xadm-commons) é dependência de compilação, não recurso no ar — está em
Bibliotecas da casa.
Manutenção desta página
A tabela é escrita à mão e o catálogo do central-backend é a fonte da verdade. Ao criar,
renomear ou aposentar um app, atualize esta página no mesmo ciclo — o
checklist de app novo é o lugar em que isso se lembra.