From 4e977df8b78b65f5edda4624e3e78d67f2297c72 Mon Sep 17 00:00:00 2001 From: deploy Date: Thu, 24 Sep 2026 22:54:55 +0000 Subject: [PATCH] fix(plataforma): KC_HOSTNAME vira URL COMPLETA, senao o e-mail leva link quebrado MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So o hostname faz o Keycloak resolver esquema e porta a partir da requisicao. O provisionamento chama a Admin API por dentro (http://keycloak:8080), e o link do convite saiu http://auth-plataforma.athleticmap.com:8080 — o cliente clicava e dava ERR_CONNECTION_TIMED_OUT. --- tenants/plataforma/20-keycloak.yaml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tenants/plataforma/20-keycloak.yaml b/tenants/plataforma/20-keycloak.yaml index da0944a..9d014f5 100644 --- a/tenants/plataforma/20-keycloak.yaml +++ b/tenants/plataforma/20-keycloak.yaml @@ -43,8 +43,23 @@ spec: value: "true" - name: KC_PROXY_HEADERS value: xforwarded + # URL COMPLETA, e nao so o hostname. A diferenca nao e estetica. + # + # Com so o hostname, o Keycloak resolve esquema e porta A PARTIR DA + # REQUISICAO. Isso funciona para quem chega pelo ingress (que manda + # X-Forwarded-Proto), e quebra para quem chega por DENTRO: o + # provisionamento chama a Admin API em http://keycloak:8080, e o link + # do e-mail de boas-vindas saiu + # `http://auth-plataforma.athleticmap.com:8080/...` — hostname certo, + # esquema e porta da conexao interna. O cliente clicava e dava + # ERR_CONNECTION_TIMED_OUT. + # + # Medido em 2026-09-24, no primeiro convite que chegou a uma caixa de + # verdade. Com a URL completa, o Keycloak para de deduzir e passa a + # montar todo link externo com este endereco — inclusive os que nascem + # de chamadas internas. - name: KC_HOSTNAME - value: "auth-plataforma.athleticmap.com" + value: "https://auth-plataforma.athleticmap.com" - name: KC_HOSTNAME_STRICT value: "true" ports: