feat(demo): o Ingress para de rotear /bff e os treze /api/<contexto> (P4.6)

Catorze linhas saem. Quem conhece a topologia interna passa a ser o
frontend/nginx.conf.template, que viaja junto com a imagem — antes, cada
mudanca de topologia obrigava a editar o Ingress de todos os tenants.

O destino do /api mudou de backend (o legado) para frontend-spa. O que o
visitante ve NAO muda: 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.

Pre-condicao resolvida hoje: as cinco variaveis de destino do nginx estavam
vazias e, mesmo apontadas, precisavam de FQDN (o resolver do nginx nao aplica os
search do resolv.conf). Sem isso, esta mudanca derrubaria os treze contextos e o
/bff de uma vez.

ORDEM: /api/public e /api/public/webhooks/asaas vivem no
96-ingress-garmin-public.yaml e tem prefixo mais longo, entao vencem o /api — o
Traefik ordena por tamanho.

Primeiro tenant. Os outros tres so depois de conferido.
This commit is contained in:
deploy
2026-09-22 19:52:26 +00:00
parent 1dda8d518d
commit d81f45b62c
+17 -15
View File
@@ -53,21 +53,23 @@ spec:
- host: demo.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/<contexto> 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-demo.athleticmap.influxdigital.com.br
http: