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