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:
@@ -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 }
|
||||
|
||||
Reference in New Issue
Block a user