Waiting for Keycloak to become ready
central-backend logs Waiting for Keycloak to become ready while it is still initializing. During that time:
- Liveness (
/healthz) returns 200 as soon as the process binds port 8081, so Kubernetes does not restart the pod. - Readiness (
/readyz) stays 503 until Keycloak and Redis init finish. Treat/readyzas the signal that Central is usable, not/healthz.
GET http://keycloak:8080/realms/master/.well-known/openid-configuration- A password grant against the Keycloak master admin (
admin-cli) using the credentials in thekeycloak-admin-credentialssecret
/health/live and /health/ready succeed. Those endpoints exist because Odigos ships a custom Keycloak image with health checks enabled at build time. Use auth.image from the odigos-central Helm values file as the source of truth. Replacing it with the official Keycloak image while keeping start --optimized and the chart probes typically leaves central-backend stuck in this wait. See Installation.
Keycloak persistence and resets
Keycloak persistence is disabled by default (auth.persistence.enabled: false). Without a PVC, restarting or recreating the Keycloak pod wipes realm data, identity-provider config, and users stored in Keycloak.
After you reset Keycloak without persistence:
- Confirm Keycloak becomes Ready.
- Restart
central-backendso it can recreate Keycloak clients, roles, and broker configuration:
central-backend.
When persistence is enabled, a bad identity-provider configuration written into the Keycloak database can leave all pods Ready while OAuth still fails. Logs may not mention the PVC. Recover by deleting the Keycloak PVC (after backing up if needed), recreating Keycloak, and restarting central-backend.
Helm auth.adminPassword is used only on first install when the keycloak-admin-credentials secret does not exist. On upgrade, the chart reuses the existing secret and ignores the value in Helm. Read the live password with:
Admin credentials vs Central UI login
auth.adminUsername and auth.adminPassword configure the Keycloak master admin. central-backend uses that account to manage Keycloak. They are not Central UI users.
Sign in to the Central UI with:
- An SSO provider configured in the UI (the first successful SSO user becomes an admin), or
- A user created later in Central Access Management
Azure OAuth
Keycloak (inside the cluster) must reach Microsoft Entra ID. Allow egress at least to:login.microsoftonline.com(authorization, token, JWKS, discovery)graph.microsoft.com(OIDC userinfo)
couldNotSendAuthenticationRequestMessage for network, DNS, TLS, and permission failures. That string does not distinguish a blocked domain from insufficient Entra app permissions. Check Keycloak logs and your egress policy.
Remote cluster cannot connect (WebSocket)
Remote proxies, VM agents, and cloud connectors connect tocentral-backend at /ws/proxy (not /wss/proxy). wss is the TLS scheme when the backend URL host ends with :443.
If your ingress sends / to central-ui, you must add an explicit /ws/proxy rule to central-backend and enable WebSocket upgrades. See Authentication.