Pular para conteúdo

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.