in sfintegration/Controllers/v1.cs [62:105]
public IActionResult GetClusters(string service_cluster, string service_node)
{
List<EnvoyCluster> ret = new List<EnvoyCluster>();
if (SF_Services.partitions_ == null)
{
return Ok(new { clusters = ret });
}
if (EnvoyDefaults.gateway_map != null)
{
foreach (var service in SF_Services.services_)
{
if (!EnvoyDefaults.gateway_clusternames.Contains(service.Key))
{
continue;
}
EnvoyCluster info = new EnvoyCluster(service.Key);
ret.Add(info);
}
}
else
{
foreach (var pID in SF_Services.partitions_)
{
var info = SF_Services.EnvoyInformationForPartition(pID.Key);
foreach (var service in info)
{
ret.Add(service.cluster);
}
}
foreach (var service in SF_Services.services_)
{
if (!service.Value.StatefulService)
{
continue;
}
EnvoyCluster info = new EnvoyCluster(service.Key);
ret.Add(info);
}
}
return Ok(
new { clusters = ret }
);
}