fix(plataforma): o frontend tambem precisava de FQDN, e so ele ficou de fora
Os quatro tenants foram corrigidos mais cedo hoje; o plataforma nao. O defeito so apareceu agora, e por um motivo que vale registrar: ele e o unico SEM catch-all /api. Nos outros, uma rota sem linha propria era engolida pelo backend legado; aqui ela cai no frontend — e e ali que o bug estava esperando. Medido no log do proprio pod: servico-bff could not be resolved (3: Host not found) request: "POST /api/plataforma/provisionamentos" O resolver do nginx nao aplica os search do /etc/resolv.conf, entao nome curto nao resolve. As cinco variaveis estavam vazias, e toda ausente cai em ATM_API_URL, que cai no nome curto `servico-bff`. Aqui nao ha runtime consolidado: os destinos apontam para o BFF, que ja era o padrao — a diferenca e so o FQDN. Achado ao conferir o PLATAFORMA_ADMIN_TOKEN recem-ligado: a consulta de estado devolvia 502 em vez de 401, e o 502 era isto.
This commit is contained in:
@@ -1,60 +1,77 @@
|
||||
# SPA Angular (shell OIDC + admin de catalogos + cadastro de Atleta) consumindo
|
||||
# o BFF. Substitui o stub estatico nginx/configMap. Roteado em / no ingress.
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: frontend-spa
|
||||
namespace: plataforma-prod
|
||||
labels:
|
||||
app: frontend-spa
|
||||
athleticmap.io/contexto: frontend
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: frontend-spa } }
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: frontend-spa
|
||||
athleticmap.io/contexto: frontend
|
||||
spec:
|
||||
containers:
|
||||
- name: frontend-spa
|
||||
# Tag alinhada com o tenant `escolinha`, que e o mais atual do
|
||||
# cluster. A que estava aqui vinha do molde defasado deste
|
||||
# repositorio, e nenhum tenant real a usava mais.
|
||||
#
|
||||
# O preco disso apareceu no primeiro deploy: com
|
||||
# `servico-financeiro:1.0`, o Flyway aplicou UMA migracao (V001) e
|
||||
# parou — a imagem foi construida antes de V002..V007 existirem, e a
|
||||
# tabela `plano_financeiro` nem chegou a ser criada. "Imagem
|
||||
# presente no no" nao e o mesmo que "imagem atual".
|
||||
image: docker.io/library/frontend-spa:2.67-csp-script
|
||||
imagePullPolicy: Never
|
||||
ports: [{ containerPort: 80 }]
|
||||
env:
|
||||
- { name: ATM_KC_URL, value: "https://auth-plataforma.athleticmap.influxdigital.com.br" }
|
||||
- { name: ATM_REALM, value: "athleticmap" }
|
||||
- { name: ATM_CLIENT, value: "spa" }
|
||||
- { name: ATM_TENANT, value: "plataforma" }
|
||||
# Plano do tenant, lido pela BarreiraDePlano (P3.7). Sem esta
|
||||
# variavel o servico nasce Bronze e responde 403 no que e pago.
|
||||
- { name: ATM_PLANO, value: "institucional" }
|
||||
resources:
|
||||
requests: { cpu: 50m, memory: 64Mi }
|
||||
limits: { cpu: 200m, memory: 128Mi }
|
||||
readinessProbe:
|
||||
httpGet: { path: /, port: 80 }
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: frontend-spa
|
||||
namespace: plataforma-prod
|
||||
labels:
|
||||
app: frontend-spa
|
||||
spec:
|
||||
selector: { app: frontend-spa }
|
||||
ports: [{ name: http, port: 80, targetPort: 80 }]
|
||||
# SPA Angular (shell OIDC + admin de catalogos + cadastro de Atleta) consumindo
|
||||
# o BFF. Substitui o stub estatico nginx/configMap. Roteado em / no ingress.
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: frontend-spa
|
||||
namespace: plataforma-prod
|
||||
labels:
|
||||
app: frontend-spa
|
||||
athleticmap.io/contexto: frontend
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: frontend-spa } }
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: frontend-spa
|
||||
athleticmap.io/contexto: frontend
|
||||
spec:
|
||||
containers:
|
||||
- name: frontend-spa
|
||||
# Tag alinhada com o tenant `escolinha`, que e o mais atual do
|
||||
# cluster. A que estava aqui vinha do molde defasado deste
|
||||
# repositorio, e nenhum tenant real a usava mais.
|
||||
#
|
||||
# O preco disso apareceu no primeiro deploy: com
|
||||
# `servico-financeiro:1.0`, o Flyway aplicou UMA migracao (V001) e
|
||||
# parou — a imagem foi construida antes de V002..V007 existirem, e a
|
||||
# tabela `plano_financeiro` nem chegou a ser criada. "Imagem
|
||||
# presente no no" nao e o mesmo que "imagem atual".
|
||||
image: docker.io/library/frontend-spa:2.67-csp-script
|
||||
imagePullPolicy: Never
|
||||
ports: [{ containerPort: 80 }]
|
||||
env:
|
||||
- { name: ATM_KC_URL, value: "https://auth-plataforma.athleticmap.influxdigital.com.br" }
|
||||
- { name: ATM_REALM, value: "athleticmap" }
|
||||
- { name: ATM_CLIENT, value: "spa" }
|
||||
- { name: ATM_TENANT, value: "plataforma" }
|
||||
# Plano do tenant, lido pela BarreiraDePlano (P3.7). Sem esta
|
||||
# variavel o servico nasce Bronze e responde 403 no que e pago.
|
||||
- { name: ATM_PLANO, value: "institucional" }
|
||||
# P4.6 — o roteamento interno do nginx, com FQDN.
|
||||
#
|
||||
# O `resolver` do nginx NAO aplica os `search` do /etc/resolv.conf:
|
||||
# `servico-bff` sozinho nao resolve, e a resposta e 502. Medido aqui
|
||||
# em 2026-09-22, no log do proprio pod:
|
||||
# "servico-bff could not be resolved (3: Host not found)",
|
||||
# request: "POST /api/plataforma/provisionamentos"
|
||||
#
|
||||
# Os quatro tenants foram corrigidos mais cedo no mesmo dia; o
|
||||
# plataforma ficou de fora, e so apareceu porque ele NAO tem
|
||||
# catch-all /api — entao uma rota sem linha propria cai no frontend,
|
||||
# e e ali que o defeito estava esperando.
|
||||
#
|
||||
# Aqui NAO ha runtime consolidado: os tres apontam para o BFF, que e
|
||||
# o que `render-config.sh` ja faria por padrao — a diferenca e o FQDN.
|
||||
- { name: ATM_BFF_URL, value: "http://servico-bff.plataforma-prod.svc.cluster.local" }
|
||||
- { name: ATM_API_URL, value: "http://servico-bff.plataforma-prod.svc.cluster.local" }
|
||||
resources:
|
||||
requests: { cpu: 50m, memory: 64Mi }
|
||||
limits: { cpu: 200m, memory: 128Mi }
|
||||
readinessProbe:
|
||||
httpGet: { path: /, port: 80 }
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: frontend-spa
|
||||
namespace: plataforma-prod
|
||||
labels:
|
||||
app: frontend-spa
|
||||
spec:
|
||||
selector: { app: frontend-spa }
|
||||
ports: [{ name: http, port: 80, targetPort: 80 }]
|
||||
|
||||
Reference in New Issue
Block a user