FIXED! Finally! I found it checking the env variables inside the grafana pod:
kube-prometheus-stack-grafana-8f748478-5z7jr:/usr/share/grafana$ env | grep GF_
GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=<secret_uncoded>
GF_PATHS_HOME=/usr/share/grafana
GF_PATHS_PROVISIONING=/etc/grafana/provisioning
GF_SECURITY_ADMIN_PASSWORD=prom-operator
GF_SECURITY_ADMIN_USER=admin
GF_PATHS_DATA=/var/lib/grafana/
GF_PATHS_LOGS=/var/log/grafana
GF_PATHS_PLUGINS=/var/lib/grafana/plugins
GF_PATHS_CONFIG=/etc/grafana/grafana.ini
Then I realized there was one miss: GF_AUTH_GENERIC_OAUTH_CLIENT_ID
And that explains why always had userId="null". So I modified the secret:
apiVersion: v1
data:
GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET: <clientsecret_base64>
GF_AUTH_GENERIC_OAUTH_CLIENT_ID: <clientid_base64>
kind: Secret
metadata:
creationTimestamp: null
name: grafana-env-secret
namespace: monitoring
And restarted the pod: kubectl -n monitoring rollout restart deployment kube-prometheus-stack-grafana
And finally, checked the envs:
kube-prometheus-stack-grafana-8f748478-5z7jr:/usr/share/grafana$ env | grep GF_
GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=<secret_uncoded>
**GF_AUTH_GENERIC_OAUTH_CLIENT_ID**=grafana-oauth
GF_PATHS_HOME=/usr/share/grafana
GF_PATHS_PROVISIONING=/etc/grafana/provisioning
GF_SECURITY_ADMIN_PASSWORD=prom-operator
GF_SECURITY_ADMIN_USER=admin
GF_PATHS_DATA=/var/lib/grafana/
GF_PATHS_LOGS=/var/log/grafana
GF_PATHS_PLUGINS=/var/lib/grafana/plugins
GF_PATHS_CONFIG=/etc/grafana/grafana.ini
And boom! working:
logger=context userId=0 orgId=0 uname= t=2024-04-19T12:40:28.158783866Z level=info msg="Request Completed" method=GET path=/login/generic_oauth status=302 remote_addr=10.244.0.0 time_ms=0 duration=239.164µs size=345 referer= handler=/login/:name status_source=server
logger=oauth.generic_oauth t=2024-04-19T12:40:28.259028574Z level=debug msg="Getting user info"
logger=oauth.generic_oauth t=2024-04-19T12:40:28.259125406Z level=debug msg="Extracting user info from OAuth token"
logger=oauth.generic_oauth t=2024-04-19T12:40:28.259833854Z level=debug msg="Received id_token" raw_json="{\"exp\":1713530731,\"iat\":1713530431,\"auth_time\":1713529886,\"jti\":\"e74d1c01-a1ac-4fd8-ac49-0362be7c2021\",\"iss\":\"https://sso.home.domain.com/realms/home\",\"aud\":\"grafana-oauth\",\"sub\":\"d67a175d-d4ae-4d62-9070-09aa309b2ee0\",\"typ\":\"ID\",\"azp\":\"grafana-oauth\",\"session_state\":\"8dfd088e-7055-4c82-aa87-e1bc06868814\",\"at_hash\":\"mcxdogCSuT-NeDvnEoeExw\",\"acr\":\"0\",\"sid\":\"8dfd088e-7055-4c82-aa87-e1bc06868814\",\"email_verified\":true,\"roles\":[\"editor\",\"viewer\",\"offline_access\",\"admin\",\"default-roles-home.domain.com\",\"uma_authorization\"],\"name\":\"Grafana Admin\",\"preferred_username\":\"grafanadmin\",\"given_name\":\"Grafana\",\"family_name\":\"Admin\",\"email\":\"grafana@domain.com\"}" data="Name: Grafana Admin, Displayname: , Login: , Username: , Email: grafana@domain.com, Upn: , Attributes: map[]"
A happy ending!!! I hope it helps somebody else