fix(molde): a SPA precisa do NOME COMPLETO dos servicos

O nginx roteia /bff e /api com proxy_pass de variavel, e ai resolve por
requisicao usando a diretiva resolver. O resolver do nginx nao le os dominios
de busca do /etc/resolv.conf: pergunta o nome cru ao CoreDNS, que responde
NXDOMAIN para servico-bff.

O sintoma engana: 502 com could not be resolved no log do nginx, enquanto
getent hosts servico-bff dentro do MESMO pod resolve — porque o getent usa o
search e o nginx nao. E por isso que o escolinha sempre usou FQDN aqui.
This commit is contained in:
deploy
2026-09-24 23:50:28 +00:00
parent 155ebbcd99
commit 62aa13bbb1
3 changed files with 48 additions and 15 deletions
+16 -5
View File
@@ -48,7 +48,18 @@ spec:
# devolve 502. Ver a pendencia no diario; o molde ainda nao pode ser
# aplicado a um tenant por causa disto. Deixado apontando para o nome
# antigo de proposito: apagar a linha esconderia o buraco.
- { name: ATM_BFF_URL, value: "http://servico-bff" }
# NOME COMPLETO, e nao o curto. A diferenca nao e estetica.
#
# O nginx roteia /bff e /api com proxy_pass de VARIAVEL, e ai ele
# resolve por requisicao usando a diretiva resolver. E o resolver do
# nginx NAO le os dominios de busca do /etc/resolv.conf: ele pergunta
# o nome cru ao CoreDNS, que responde NXDOMAIN para servico-bff.
#
# O sintoma e 502 com could not be resolved (3: Host not found) no log
# do nginx — enquanto getent hosts servico-bff DENTRO do mesmo pod
# resolve, porque o getent usa o search. Medido em 2026-09-24; e por
# isso que o escolinha sempre usou FQDN aqui, e este molde nao usava.
- { name: ATM_BFF_URL, value: "http://servico-bff.{{TENANT}}-prod.svc.cluster.local" }
# /api por GRUPO DE CONTEXTO, e nao um destino so.
#
@@ -62,10 +73,10 @@ spec:
#
# `ATM_API_URL` continua, e nao e redundante: e o destino do que nao
# pertence a grupo nenhum, hoje `/api/public/**`.
- { name: ATM_API_URL, value: "http://runtime-operacao" }
- { name: ATM_API_CORE_URL, value: "http://runtime-core" }
- { name: ATM_API_OPERACAO_URL, value: "http://runtime-operacao" }
- { name: ATM_API_SAUDE_URL, value: "http://runtime-saude" }
- { name: ATM_API_URL, value: "http://runtime-operacao.{{TENANT}}-prod.svc.cluster.local" }
- { name: ATM_API_CORE_URL, value: "http://runtime-core.{{TENANT}}-prod.svc.cluster.local" }
- { name: ATM_API_OPERACAO_URL, value: "http://runtime-operacao.{{TENANT}}-prod.svc.cluster.local" }
- { name: ATM_API_SAUDE_URL, value: "http://runtime-saude.{{TENANT}}-prod.svc.cluster.local" }
resources:
# 24 MiB medidos em 2026-09-18. 64Mi de request da folga de 2,5x.
requests: { cpu: 50m, memory: 64Mi }
@@ -48,7 +48,18 @@ spec:
# devolve 502. Ver a pendencia no diario; o molde ainda nao pode ser
# aplicado a um tenant por causa disto. Deixado apontando para o nome
# antigo de proposito: apagar a linha esconderia o buraco.
- { name: ATM_BFF_URL, value: "http://servico-bff" }
# NOME COMPLETO, e nao o curto. A diferenca nao e estetica.
#
# O nginx roteia /bff e /api com proxy_pass de VARIAVEL, e ai ele
# resolve por requisicao usando a diretiva resolver. E o resolver do
# nginx NAO le os dominios de busca do /etc/resolv.conf: ele pergunta
# o nome cru ao CoreDNS, que responde NXDOMAIN para servico-bff.
#
# O sintoma e 502 com could not be resolved (3: Host not found) no log
# do nginx — enquanto getent hosts servico-bff DENTRO do mesmo pod
# resolve, porque o getent usa o search. Medido em 2026-09-24; e por
# isso que o escolinha sempre usou FQDN aqui, e este molde nao usava.
- { name: ATM_BFF_URL, value: "http://servico-bff.escolinha-de-teste-2-prod.svc.cluster.local" }
# /api por GRUPO DE CONTEXTO, e nao um destino so.
#
@@ -62,10 +73,10 @@ spec:
#
# `ATM_API_URL` continua, e nao e redundante: e o destino do que nao
# pertence a grupo nenhum, hoje `/api/public/**`.
- { name: ATM_API_URL, value: "http://runtime-operacao" }
- { name: ATM_API_CORE_URL, value: "http://runtime-core" }
- { name: ATM_API_OPERACAO_URL, value: "http://runtime-operacao" }
- { name: ATM_API_SAUDE_URL, value: "http://runtime-saude" }
- { name: ATM_API_URL, value: "http://runtime-operacao.escolinha-de-teste-2-prod.svc.cluster.local" }
- { name: ATM_API_CORE_URL, value: "http://runtime-core.escolinha-de-teste-2-prod.svc.cluster.local" }
- { name: ATM_API_OPERACAO_URL, value: "http://runtime-operacao.escolinha-de-teste-2-prod.svc.cluster.local" }
- { name: ATM_API_SAUDE_URL, value: "http://runtime-saude.escolinha-de-teste-2-prod.svc.cluster.local" }
resources:
# 24 MiB medidos em 2026-09-18. 64Mi de request da folga de 2,5x.
requests: { cpu: 50m, memory: 64Mi }
@@ -48,7 +48,18 @@ spec:
# devolve 502. Ver a pendencia no diario; o molde ainda nao pode ser
# aplicado a um tenant por causa disto. Deixado apontando para o nome
# antigo de proposito: apagar a linha esconderia o buraco.
- { name: ATM_BFF_URL, value: "http://servico-bff" }
# NOME COMPLETO, e nao o curto. A diferenca nao e estetica.
#
# O nginx roteia /bff e /api com proxy_pass de VARIAVEL, e ai ele
# resolve por requisicao usando a diretiva resolver. E o resolver do
# nginx NAO le os dominios de busca do /etc/resolv.conf: ele pergunta
# o nome cru ao CoreDNS, que responde NXDOMAIN para servico-bff.
#
# O sintoma e 502 com could not be resolved (3: Host not found) no log
# do nginx — enquanto getent hosts servico-bff DENTRO do mesmo pod
# resolve, porque o getent usa o search. Medido em 2026-09-24; e por
# isso que o escolinha sempre usou FQDN aqui, e este molde nao usava.
- { name: ATM_BFF_URL, value: "http://servico-bff.escolinha-de-teste-prod.svc.cluster.local" }
# /api por GRUPO DE CONTEXTO, e nao um destino so.
#
@@ -62,10 +73,10 @@ spec:
#
# `ATM_API_URL` continua, e nao e redundante: e o destino do que nao
# pertence a grupo nenhum, hoje `/api/public/**`.
- { name: ATM_API_URL, value: "http://runtime-operacao" }
- { name: ATM_API_CORE_URL, value: "http://runtime-core" }
- { name: ATM_API_OPERACAO_URL, value: "http://runtime-operacao" }
- { name: ATM_API_SAUDE_URL, value: "http://runtime-saude" }
- { name: ATM_API_URL, value: "http://runtime-operacao.escolinha-de-teste-prod.svc.cluster.local" }
- { name: ATM_API_CORE_URL, value: "http://runtime-core.escolinha-de-teste-prod.svc.cluster.local" }
- { name: ATM_API_OPERACAO_URL, value: "http://runtime-operacao.escolinha-de-teste-prod.svc.cluster.local" }
- { name: ATM_API_SAUDE_URL, value: "http://runtime-saude.escolinha-de-teste-prod.svc.cluster.local" }
resources:
# 24 MiB medidos em 2026-09-18. 64Mi de request da folga de 2,5x.
requests: { cpu: 50m, memory: 64Mi }