Commit Graph

12 Commits

Author SHA1 Message Date
deploy b557b30ce1 ingress plataforma: /api/public/licencas/situacao (revogar a chave derruba os apps) 2026-10-06 18:10:35 +00:00
ATM Platform d3b6b3038f plataforma: rota publica /api/public/licencas/reenvio -> servico-captacao 2026-10-06 12:48:05 +00:00
ATM Platform f657654d0f plataforma: rota publica /api/public/licencas/ativacao -> servico-captacao (licenca do app do treinador) 2026-10-05 21:45:04 +00:00
ATM Platform fc00a4995b plataforma: rotas internas dos servicos fechadas na borda (403); /api/configuracao, /api/cadastro e /api/financeiro fora do Ingress principal 2026-10-05 18:15:50 +00:00
deploy 48668e1910 chore(dominio): o dominio antigo sai de tudo — Ingress, realms, Garmin, ArgoCD e Grafana 2026-09-26 04:05:49 +00:00
deploy 1affc1fc0e feat(plataforma): subconta Asaas dos tenants ligada — token de situacao selado, rota do aviso e SUBCONTA_* 2026-09-25 22:32:27 +00:00
deploy 74a4265603 fix(plataforma): as rotas do painel do comprador e do dono chegam ao captacao 2026-09-25 20:56:44 +00:00
deploy 0e94ef54e9 feat(plataforma): /api/public/contratacoes no Ingress
A contratacao pela landing page. Aqui nao ha catch-all: caminho que nao esta
escrito nao existe — o endpoint respondeu vazio com a imagem ja no ar porque o
servico tinha a rota e o Ingress nao.
2026-09-25 01:53:21 +00:00
deploy 7090f2a1b3 feat(plataforma): auth.athleticmap.com, o host de autenticacao DOS TENANTS
O molde do tenant ja apontava para ca — a SPA em ATM_KC_URL e os tres runtimes
em ATM_ISSUER — e o host nao existia. O navegador batia em
ERR_CERT_AUTHORITY_INVALID e, passando por cima, em 404 do Traefik.

Nao e auth-plataforma para o cliente: o endereco aparece na barra dele durante
o login, e o nome do nosso tenant interno nao tem o que fazer ali.
2026-09-24 23:08:19 +00:00
deploy 440ade90f5 feat(P0.9): fase HOSTS — os cinco tenants passam a atender os DOIS dominios
Aditiva de proposito: nenhum endereco antigo sai. Quem esta usando
<tenant>.athleticmap.influxdigital.com.br continua entrando, e o cert-manager
passa a emitir tambem o certificado de <tenant>.athleticmap.com.

Foi possivel porque o dono criou o curinga hoje: *.athleticmap.com resolve para
187.77.37.184, conferido com um nome ALEATORIO — demo. ou www. responderiam
mesmo sem curinga, e a conferencia passaria por engano.

9 arquivos, 28 trocas, 317 insercoes e 4 remocoes. As 4 sao as linhas de TLS em
fluxo, reescritas com os dois dominios na mesma lista.

Cada regra de Ingress foi DUPLICADA com os mesmos paths, e nao trocada: uma
regra com host: X so atende X.

`platform/` (ArgoCD e Grafana) fica FORA: mexer no Ingress do ArgoCD no meio de
uma migracao de dominio e perder o instrumento de rollback.

Conferido antes de aplicar: YAML valido em todos os Ingress, e ZERO host sem
entrada de TLS.

O que NAO muda aqui: ATM_ISSUER, ATM_KC_URL e as URLs do Garmin. Ninguem e
deslogado nesta fase.
2026-09-23 11:35:48 +00:00
deploy 2a4b387e37 feat(plataforma): duas rotas publicas que existiam no codigo e nao no Ingress
O Ingress do plataforma nao tem catch-all, por desenho: rota publica nova
precisa ser acrescentada a mao, ou devolve 404. Duas estavam faltando, as duas
achadas por scripts/conferir_rotas_publicas.py.

/api/public/conta (P5.8) — a tela de espera depois do pagamento. Quem acabou de
pagar AINDA NAO TEM CONTA, logo nao tem token. O controlador existia
(EstadoDaContaController) e a cadeia ja liberava (permitAll), mas o Ingress
devolvia 404: a tela que existe para tranquilizar quem pagou nao respondia.

/api/public/webhooks/assinatura (P5.1) — e outra coisa do webhooks/asaas que ja
estava la: aquele avisa que uma COBRANCA de cliente foi paga e vai para o
financeiro do tenant; este avisa que alguem assinou a Athletic Map, e dispara o
provisionamento de um tenant NOVO. Contas diferentes no Asaas, servicos
diferentes aqui. Sem esta linha, alguem assinaria, pagaria, e nenhum tenant
seria criado — sem erro em lugar nenhum do nosso lado.
2026-09-22 14:56:43 +00:00
Athletic Map Deploy ea7da4364a feat(plataforma): tenant proprio da Athletic Map
Namespace, banco, Keycloak e realm proprios, separados dos clientes e do tenant
de demonstracao. Leva 4 contextos (configuracao, cadastro, financeiro, captacao)
mais bff e SPA, e nao os 13 de um cliente: a Athletic Map nao e escolinha.

Ingress escrito do zero, sem o stub backend legado e sem catch-all /api. Duas
rotas publicas, ambas por desenho: /api/public/leads (o formulario da landing
page) e /api/public/webhooks/asaas (o aviso de pagamento, que chega da internet
sem token nosso).

Dominio em *.athleticmap.influxdigital.com.br, e nao no canonico athleticmap.com
do P0.9: aquele ainda nao tem registro A, e com desafio HTTP-01 nascer nele
daria certificado nao emitido e login quebrado.

Tres SealedSecret gerados para ESTE namespace, e a chave publica do backup no
lugar do placeholder. As 7 imagens locais exigidas estao no no, incluindo
servico-captacao:1.0 e atm-pg-backup:1.0, construidas hoje.

Preparado em P3.1 a P3.4. Validado com kubectl --dry-run: 32 documentos.
2026-09-17 17:58:21 +00:00