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: