From 4c338c0eda1cda9849aa4bbca0cad4d3de1f90a0 Mon Sep 17 00:00:00 2001 From: deploy Date: Tue, 22 Sep 2026 19:54:40 +0000 Subject: [PATCH] feat(piloto,acme,escolinha): o Ingress simplificado, como no demo (P4.6) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mesma mudanca do commit anterior, agora nos tres restantes. O demo foi primeiro e ficou conferido de fora: os 13 contextos em 200, /bff em 200, /inicio e /lp-escolinhas em 200, e — o que mais importava — /api/nao-mapeado continua devolvendo 401, como antes. O comportamento visivel nao mudou. Catorze linhas saem de cada um. O destino do /api passa de backend (o legado) para frontend-spa; a decisao "401 ou 404" segue aberta e intacta. --- tenants/acme/30-apps-stubs.yaml | 32 +++++++++++++++------------- tenants/escolinha/30-apps-stubs.yaml | 32 +++++++++++++++------------- tenants/piloto/30-apps-stubs.yaml | 32 +++++++++++++++------------- 3 files changed, 51 insertions(+), 45 deletions(-) diff --git a/tenants/acme/30-apps-stubs.yaml b/tenants/acme/30-apps-stubs.yaml index f2e24d6..31a75b1 100644 --- a/tenants/acme/30-apps-stubs.yaml +++ b/tenants/acme/30-apps-stubs.yaml @@ -53,21 +53,23 @@ spec: - host: acme.athleticmap.influxdigital.com.br http: paths: - - { path: /api/configuracao, pathType: Prefix, backend: { service: { name: servico-configuracao, port: { number: 80 } } } } - - { path: /api/cadastro, pathType: Prefix, backend: { service: { name: servico-cadastro, port: { number: 80 } } } } - - { path: /bff, pathType: Prefix, backend: { service: { name: servico-bff, port: { number: 80 } } } } - - { path: /api/organizacao, pathType: Prefix, backend: { service: { name: servico-organizacao, port: { number: 80 } } } } - - { path: /api/planejamento, pathType: Prefix, backend: { service: { name: servico-planejamento, port: { number: 80 } } } } - - { path: /api/campeonato, pathType: Prefix, backend: { service: { name: servico-campeonato, port: { number: 80 } } } } - - { path: /api/saude, pathType: Prefix, backend: { service: { name: servico-saude, port: { number: 80 } } } } - - { path: /api/financeiro, pathType: Prefix, backend: { service: { name: servico-financeiro, port: { number: 80 } } } } - - { path: /api/documentos, pathType: Prefix, backend: { service: { name: servico-documentos, port: { number: 80 } } } } - - { path: /api/administrativo, pathType: Prefix, backend: { service: { name: servico-administrativo, port: { number: 80 } } } } - - { path: /api/assistencia-social, pathType: Prefix, backend: { service: { name: servico-assistencia-social, port: { number: 80 } } } } - - { path: /api/pedagogico, pathType: Prefix, backend: { service: { name: servico-pedagogico, port: { number: 80 } } } } - - { path: /api/nutricao, pathType: Prefix, backend: { service: { name: servico-nutricao, port: { number: 80 } } } } - - { path: /api/agenda, pathType: Prefix, backend: { service: { name: servico-agenda, port: { number: 80 } } } } - - { path: /api, pathType: Prefix, backend: { service: { name: backend, port: { number: 80 } } } } + # P4.6: o nginx da SPA resolve /bff e /api/ por dentro. + # + # Ate 2026-09-22 havia UMA linha por contexto aqui, mais o /bff — catorze + # ao todo. Cada mudanca de topologia obrigava a editar o Ingress de todos + # os tenants; agora quem conhece a topologia interna e o + # `frontend/nginx.conf.template`, que viaja junto com a imagem. + # + # O destino deste /api mudou de `backend` (o legado) para `frontend-spa`. + # **O que o visitante ve NAO muda:** um caminho nao mapeado continua + # recebendo 401 — antes do backend legado, agora do BFF, para onde o + # nginx manda o /api que sobra. A decisao "401 ou 404" segue aberta e + # intacta; isto so tira o legado do caminho do trafego. + # + # ORDEM: `/api/public` e `/api/public/webhooks/asaas` vivem no + # `96-ingress-garmin-public.yaml` e tem prefixo MAIS LONGO, entao vencem + # este — o Traefik ordena por tamanho. Conferido. + - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - host: auth-acme.athleticmap.influxdigital.com.br http: diff --git a/tenants/escolinha/30-apps-stubs.yaml b/tenants/escolinha/30-apps-stubs.yaml index 72aed38..1a0788d 100644 --- a/tenants/escolinha/30-apps-stubs.yaml +++ b/tenants/escolinha/30-apps-stubs.yaml @@ -53,21 +53,23 @@ spec: - host: escolinha.athleticmap.influxdigital.com.br http: paths: - - { path: /api/configuracao, pathType: Prefix, backend: { service: { name: servico-configuracao, port: { number: 80 } } } } - - { path: /api/cadastro, pathType: Prefix, backend: { service: { name: servico-cadastro, port: { number: 80 } } } } - - { path: /bff, pathType: Prefix, backend: { service: { name: servico-bff, port: { number: 80 } } } } - - { path: /api/organizacao, pathType: Prefix, backend: { service: { name: servico-organizacao, port: { number: 80 } } } } - - { path: /api/planejamento, pathType: Prefix, backend: { service: { name: servico-planejamento, port: { number: 80 } } } } - - { path: /api/campeonato, pathType: Prefix, backend: { service: { name: servico-campeonato, port: { number: 80 } } } } - - { path: /api/saude, pathType: Prefix, backend: { service: { name: servico-saude, port: { number: 80 } } } } - - { path: /api/financeiro, pathType: Prefix, backend: { service: { name: servico-financeiro, port: { number: 80 } } } } - - { path: /api/documentos, pathType: Prefix, backend: { service: { name: servico-documentos, port: { number: 80 } } } } - - { path: /api/administrativo, pathType: Prefix, backend: { service: { name: servico-administrativo, port: { number: 80 } } } } - - { path: /api/assistencia-social, pathType: Prefix, backend: { service: { name: servico-assistencia-social, port: { number: 80 } } } } - - { path: /api/pedagogico, pathType: Prefix, backend: { service: { name: servico-pedagogico, port: { number: 80 } } } } - - { path: /api/nutricao, pathType: Prefix, backend: { service: { name: servico-nutricao, port: { number: 80 } } } } - - { path: /api/agenda, pathType: Prefix, backend: { service: { name: servico-agenda, port: { number: 80 } } } } - - { path: /api, pathType: Prefix, backend: { service: { name: backend, port: { number: 80 } } } } + # P4.6: o nginx da SPA resolve /bff e /api/ por dentro. + # + # Ate 2026-09-22 havia UMA linha por contexto aqui, mais o /bff — catorze + # ao todo. Cada mudanca de topologia obrigava a editar o Ingress de todos + # os tenants; agora quem conhece a topologia interna e o + # `frontend/nginx.conf.template`, que viaja junto com a imagem. + # + # O destino deste /api mudou de `backend` (o legado) para `frontend-spa`. + # **O que o visitante ve NAO muda:** um caminho nao mapeado continua + # recebendo 401 — antes do backend legado, agora do BFF, para onde o + # nginx manda o /api que sobra. A decisao "401 ou 404" segue aberta e + # intacta; isto so tira o legado do caminho do trafego. + # + # ORDEM: `/api/public` e `/api/public/webhooks/asaas` vivem no + # `96-ingress-garmin-public.yaml` e tem prefixo MAIS LONGO, entao vencem + # este — o Traefik ordena por tamanho. Conferido. + - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - host: auth-escolinha.athleticmap.influxdigital.com.br http: diff --git a/tenants/piloto/30-apps-stubs.yaml b/tenants/piloto/30-apps-stubs.yaml index 4508166..49f9251 100644 --- a/tenants/piloto/30-apps-stubs.yaml +++ b/tenants/piloto/30-apps-stubs.yaml @@ -53,21 +53,23 @@ spec: - host: piloto.athleticmap.influxdigital.com.br http: paths: - - { path: /api/configuracao, pathType: Prefix, backend: { service: { name: servico-configuracao, port: { number: 80 } } } } - - { path: /api/cadastro, pathType: Prefix, backend: { service: { name: servico-cadastro, port: { number: 80 } } } } - - { path: /bff, pathType: Prefix, backend: { service: { name: servico-bff, port: { number: 80 } } } } - - { path: /api/organizacao, pathType: Prefix, backend: { service: { name: servico-organizacao, port: { number: 80 } } } } - - { path: /api/planejamento, pathType: Prefix, backend: { service: { name: servico-planejamento, port: { number: 80 } } } } - - { path: /api/campeonato, pathType: Prefix, backend: { service: { name: servico-campeonato, port: { number: 80 } } } } - - { path: /api/saude, pathType: Prefix, backend: { service: { name: servico-saude, port: { number: 80 } } } } - - { path: /api/financeiro, pathType: Prefix, backend: { service: { name: servico-financeiro, port: { number: 80 } } } } - - { path: /api/documentos, pathType: Prefix, backend: { service: { name: servico-documentos, port: { number: 80 } } } } - - { path: /api/administrativo, pathType: Prefix, backend: { service: { name: servico-administrativo, port: { number: 80 } } } } - - { path: /api/assistencia-social, pathType: Prefix, backend: { service: { name: servico-assistencia-social, port: { number: 80 } } } } - - { path: /api/pedagogico, pathType: Prefix, backend: { service: { name: servico-pedagogico, port: { number: 80 } } } } - - { path: /api/nutricao, pathType: Prefix, backend: { service: { name: servico-nutricao, port: { number: 80 } } } } - - { path: /api/agenda, pathType: Prefix, backend: { service: { name: servico-agenda, port: { number: 80 } } } } - - { path: /api, pathType: Prefix, backend: { service: { name: backend, port: { number: 80 } } } } + # P4.6: o nginx da SPA resolve /bff e /api/ por dentro. + # + # Ate 2026-09-22 havia UMA linha por contexto aqui, mais o /bff — catorze + # ao todo. Cada mudanca de topologia obrigava a editar o Ingress de todos + # os tenants; agora quem conhece a topologia interna e o + # `frontend/nginx.conf.template`, que viaja junto com a imagem. + # + # O destino deste /api mudou de `backend` (o legado) para `frontend-spa`. + # **O que o visitante ve NAO muda:** um caminho nao mapeado continua + # recebendo 401 — antes do backend legado, agora do BFF, para onde o + # nginx manda o /api que sobra. A decisao "401 ou 404" segue aberta e + # intacta; isto so tira o legado do caminho do trafego. + # + # ORDEM: `/api/public` e `/api/public/webhooks/asaas` vivem no + # `96-ingress-garmin-public.yaml` e tem prefixo MAIS LONGO, entao vencem + # este — o Traefik ordena por tamanho. Conferido. + - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - host: auth-piloto.athleticmap.influxdigital.com.br http: