fix(k8s): keep Keycloak's backchannel URLs https behind the labs Caddy (refs #177)
CI / lint (pull_request) Successful in 5m30s
CI / k8s (pull_request) Successful in 9s
CI / build (pull_request) Successful in 5m5s
CI / unit (pull_request) Successful in 1m42s
CI / frontend (pull_request) Successful in 3m40s
CI / mutation (pull_request) Successful in 5m31s
CI / verify-stack (pull_request) Failing after 16m52s
CI / lint (pull_request) Successful in 5m30s
CI / k8s (pull_request) Successful in 9s
CI / build (pull_request) Successful in 5m5s
CI / unit (pull_request) Successful in 1m42s
CI / frontend (pull_request) Successful in 3m40s
CI / mutation (pull_request) Successful in 5m31s
CI / verify-stack (pull_request) Failing after 16m52s
KC_HOSTNAME_BACKCHANNEL_DYNAMIC builds the token/userinfo/certs URLs from the request, which reaches Keycloak as plain http through the proxy, so browsers blocked them as mixed content after login. Trust X-Forwarded-Proto. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -275,6 +275,11 @@ workloads:
|
||||
# this issuer back, which is what browser tokens carry (infra/host-browser.yml).
|
||||
KC_HOSTNAME: '{{ include "big.keycloakUrl" . }}'
|
||||
KC_HOSTNAME_BACKCHANNEL_DYNAMIC: "true"
|
||||
# Behind a TLS proxy (keycloakUrl) the dynamic backchannel URLs — token,
|
||||
# userinfo, certs — take their scheme from the request, which reaches Keycloak
|
||||
# as plain http; trusting X-Forwarded-Proto keeps them https so the browser
|
||||
# doesn't block them as mixed content. In-cluster calls send no such header.
|
||||
KC_PROXY_HEADERS: xforwarded
|
||||
ports: [{ name: http, port: 8080 }]
|
||||
# TCP, not /health/ready on the management port: nothing here gates on realm
|
||||
# import, and a wrong health path would leave the Service with no endpoints.
|
||||
|
||||
Reference in New Issue
Block a user