Skip to main content
Version: 1.15.0

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

ParameterParameter TypeDescription
nameStringThe unique name of the cluster.
geoLocation.cloudProviderStringThe cloud provider hosting the cluster (for example, AWS, GCP, Azure).
geoLocation.cloudRegionStringThe cloud region where the cluster is deployed.
monitoring.kubernetesDashboard.enabledBooleanThis is the parameter to enable the Kubernetes dashboard for the cluster.
monitoring.kubernetesDashboard.endpointStringThe URL (endpoint) of the Kubernetes dashboard.
monitoring.kubernetesDashboard.accessTokenStringThe access token to authenticate dashboard access.
telemetry.enabledBooleanThis is the parameter to enable telemetry for the cluster.
telemetry.endpointStringThe endpoint URL for telemetry data collection.
telemetry.telemetryProviderStringThis is the provider used for telemetry metrics (for example, Prometheus).
clusterHealth.clusterHealthStatusStringThe current health status of the cluster.
clusterHealth.lastUpdatedStringThe timestamp of last health status update.
gpuRestriction.lastUpdatedTimestampStringThe timestamp of last GPU restriction update.
registrationStatusStringThe cluster registration state (for example, Registered and Pending).
nodeIPsArray of strings]The list of node IP addresses registered in the cluster.
networkPresentBooleanThis is the parameter to check if the cluster network configuration is active.
namespacesArray of objectsThe list of namespaces available in the cluster.
namespaces[].nameStringThe name of the namespace.
namespaces[].sliceNameStringThe 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}}"
}
}