Clusters
This topic describes the API used to get the list of clusters registered with the EGS Controller.
Get Clusters
Use the API to get the list of clusters.
Method and URL
GET /api/v1/clusters
Parameters
| Parameter | Parameter Type | Description |
|---|---|---|
| name | String | The unique name of the cluster. |
| geoLocation.cloudProvider | String | The cloud provider hosting the cluster (for example, AWS, GCP, Azure). |
| geoLocation.cloudRegion | String | The cloud region where the cluster is deployed. |
| monitoring.kubernetesDashboard.enabled | Boolean | This is the parameter to enable the Kubernetes dashboard for the cluster. |
| monitoring.kubernetesDashboard.endpoint | String | The URL (endpoint) of the Kubernetes dashboard. |
| monitoring.kubernetesDashboard.accessToken | String | The access token to authenticate dashboard access. |
| telemetry.enabled | Boolean | This is the parameter to enable telemetry for the cluster. |
| telemetry.endpoint | String | The endpoint URL for telemetry data collection. |
| telemetry.telemetryProvider | String | This is the provider used for telemetry metrics (for example, Prometheus). |
| clusterHealth.clusterHealthStatus | String | The current health status of the cluster. |
| clusterHealth.lastUpdated | String | The timestamp of last health status update. |
| gpuRestriction.lastUpdatedTimestamp | String | The timestamp of last GPU restriction update. |
| registrationStatus | String | The cluster registration state (for example, Registered and Pending). |
| nodeIPs | Array of strings] | The list of node IP addresses registered in the cluster. |
| networkPresent | Boolean | This is the parameter to check if the cluster network configuration is active. |
| namespaces | Array of objects | The list of namespaces available in the cluster. |
| namespaces[].name | String | The name of the namespace. |
| namespaces[].sliceName | String | The associated workspace (slice) name if namespace is part of a workspace. |
Example Request
GET /api/v1/clusters
Example Responses
Example Request: Success
{
"statusCode": 200,
"status": "OK",
"message": "Success",
"data": [
{
"name": "worker-4",
"geoLocation": {
"cloudProvider": "gcp",
"cloudRegion": "us-east1"
},
"monitoring": {
"kubernetesDashboard": {
"enabled": true,
"endpoint": "https://35.237.122.218",
"accessToken": "worker-4-kubernetes-dashboard"
}
},
"telemetry": {
"enabled": true,
"endpoint": "http://34.26.136.17:32084",
"telemetryProvider": "prometheus"
},
"clusterHealth": {
"clusterHealthStatus": "Normal",
"lastUpdated": "2025-10-30T13:47:05Z"
},
"gpuRestriction": {
"lastUpdatedTimestamp": "2025-10-30T13:43:56Z"
},
"registrationStatus": "Registered",
"nodeIPs": [
"35.229.69.112",
"35.227.115.139",
"34.139.1.138",
"34.26.136.17"
],
"networkPresent": true,
"namespaces": [
{
"name": "bookinfo",
"sliceName": "bookinfo"
},
{
"name": "dashboard",
"sliceName": "dashboard"
},
{
"name": "egs-monitoring"
},
{
"name": "vaidio-system"
},
{
"name": "demo"
}
]
}
]
}
Example Response: Error
{
"statusCode": 500,
"status": "Error",
"message": "Internal Server Error",
"data": null,
"error": {
"errorKey": "",
"message": "Failed to fetch clusters",
"data": "{\"error\":{\"Message\":\"Error retrieving clusters\",\"Status\":500,\"DetailedError\":{\"Errormessage\":\"Kubernetes API timeout\",\"Reason\":\"InternalError\",\"Details\":\"\"},\"StatusCode\":500}}"
}
}