KAS `server_info` gRPC module not started & Agents UI broken
--- name: 🚨 KAS `server_info` gRPC module not started & Agents UI broken about: KAS does not start the `server_info` gRPC service despite correct configuration labels: bug, kubernetes, agent, kas --- ## 🐛 Summary When accessing **Projects → Operate → Kubernetes → Agents**, the UI shows: > _An error occurred while loading your agents_ The GitLab backend is calling the gRPC method: ``` gitlab.agent.server_info.rpc.ServerInfo/GetServerInfo ``` but receives: ``` unknown service gitlab.agent.server_info.rpc.ServerInfo ``` KAS logs also contain repeated startup messages: ``` Module is not started, because the factory did not create it, mod_name: "server_info" ``` This indicates that the `server_info` gRPC service is not registered / not started in the running KAS instance. ## 🧪 Environment - Self-Managed GitLab **18.8.4 (multiserver)** - KAS running at a separate external URL (`gitkas-test.lan`) - Rails nodes proxying requests to KAS via configured internal and external URLs ## 🧩 KAS Node Configuration (`gitlab.rb` excerpt) ```ruby external_url 'https://gitlab-test.lan' gitlab_kas_external_url 'gitkas-test.lan' gitlab_kas['enable'] = true gitlab_kas['log_level'] = 'debug' gitlab_kas['grpc_log_level'] = 'debug' gitlab_kas_external_url 'wss://gitkas-test.lan' gitlab_kas['listen_address'] = '0.0.0.0:8150' gitlab_kas['observability_listen_address'] = '0.0.0.0:8151' gitlab_kas['internal_api_listen_address'] = '0.0.0.0:8153' gitlab_kas['private_api_listen_address'] = '0.0.0.0:8155' gitlab_kas['api_secret_key'] = '<base64_secret>' gitlab_kas['private_api_secret_key'] = '<base64_secret>' gitlab_kas['websocket_token_secret_key'] = '<base64_secret>' gitlab_kas['gitlab_address'] = 'https://gitlab-test.lan' gitlab_kas['gitlab_external_url'] = 'https://gitlab-test.lan' gitlab_kas['redis_password'] = '...' gitlab_kas['redis_sentinels'] = [ { host: '10.18.149.172', port: 26379 }, { host: '10.18.149.184', port: 26379 }, { host: '10.18.149.81', port: 26379 } ] gitlab_kas['redis_sentinels_master_name'] = 'gitlab-redis-persistent' gitlab_kas['upstream_http_scheme'] = 'http' gitlab_kas['upstream_grpc_scheme'] = 'grpc' ``` ## 🧩 Rails Node Configuration (`gitlab.rb` excerpt) ```ruby gitlab_rails['gitlab_kas_enabled'] = true gitlab_rails['gitlab_kas_external_url'] = 'wss://gitkas-test.lan' gitlab_rails['gitlab_kas_internal_url'] = 'grpcs://gitkas-test.lan' gitlab_rails['gitlab_kas_external_k8s_proxy_url'] = 'https://gitkas-test.lan/k8s-proxy/' ``` ## 🧠 Observed Behavior ### ❌ On GitLab backend side In logs: ``` unknown service gitlab.agent.server_info.rpc.ServerInfo debug_error_string:{UNKNOWN:Error received from peer {grpc_status:12, grpc_message:"unknown service gitlab.agent.server_info.rpc.ServerInfo"}} ``` ### ❌ On KAS side On startup: ``` {"level":"DEBUG","msg":"Module is not started, because the factory did not create it","mod_name":"server_info"} ``` This suggests the `server_info` module is not registered and therefore **KAS does not expose** this gRPC service. ## ✅ Expected Behavior - KAS should start and register the `server_info` gRPC module - The GitLab Rails backend should be able to successfully call: ``` gitlab.agent.server_info.rpc.ServerInfo/GetServerInfo ``` without a “unknown service” error. - The **Agents** UI should load normally. ## 📌 Possible Root Cause Based on the logs, `server_info` is not being created by a factory within KAS at startup, resulting in: ``` Module is not started, because the factory did not create it ``` This indicates that although the feature was merged into the codebase, it may **not be enabled or built into the current release package** being used. ## 🧪 Steps to Reproduce 1. Deploy GitLab 18.8.4 with KAS enabled and configured on a separate external URL. 2. Navigate to a project → Operate → Kubernetes → Agents. 3. Observe the Agents UI error. 4. Inspect GitLab logs → “unknown service server_info”. 5. Inspect KAS logs → “server_info module not created”. ## 📎 Logs **GitLab backend:** ``` unknown service gitlab.agent.server_info.rpc.ServerInfo ``` **KAS logs:** ``` Module is not started, because the factory did not create it, mod_name: server_info ``` ## 💡 Notes - This issue breaks the Agents UI because a key gRPC lookup from Rails fails. - Users cannot view or manage cluster agents via the web interface in this state.
issue