in src/dotnet/AzureAI.Proxy/ReverseProxy/ProxyConfiguration.cs [46:93]
public IReadOnlyList<ClusterConfig> GetClusters()
{
List<ClusterConfig> clusters = new();
foreach (var route in _proxyConfig.Routes)
{
Dictionary<string, DestinationConfig> destinations = new();
foreach (var destination in route.Endpoints)
{
Dictionary<string, string> metadata = new()
{
{ "url", destination.Address },
{ "priority", destination.Priority.ToString() }
};
DestinationConfig destinationConfig = new()
{
Address = destination.Address,
Metadata = metadata
};
destinations[destination.Address] = destinationConfig;
}
ClusterConfig clusterConfig = new()
{
ClusterId = route.Name,
Destinations = destinations,
HealthCheck = new HealthCheckConfig
{
Passive = new PassiveHealthCheckConfig
{
Enabled = true,
Policy = ThrottlingHealthPolicy.ThrottlingPolicyName
}
},
//LoadBalancingPolicy = LoadBalancingPolicies.RoundRobin,
HttpRequest = new ForwarderRequestConfig()
};
clusters.Add(clusterConfig);
}
return clusters.AsReadOnly();
}