public static ClusterLoadAssignment CreateEndpoint(String clusterName, uint port) { var clusterLoadAssignment = new ClusterLoadAssignment { ClusterName = clusterName }; var localityLbEndpoints = new LocalityLbEndpoints(); localityLbEndpoints.LbEndpoints.Add(new LbEndpoint { Endpoint = new Endpoint { Address = new Address { SocketAddress = new SocketAddress { Address = LOCALHOST, PortValue = port, Protocol = Protocol.Tcp, } } } }); clusterLoadAssignment.Endpoints.Add(localityLbEndpoints); return(clusterLoadAssignment); }
public static ClusterLoadAssignment ToEnvoyEgressClusterLoadAssignment(this List <EndpointInstance> endpoints, Dictionary <string, string> nodeAdresses) { var assignment = new ClusterLoadAssignment() { ClusterName = endpoints.First().Type.EgressId, }; var envoyEndpoint = new LocalityLbEndpoints(); envoyEndpoint.LbEndpoints.AddRange(endpoints.Select(e => new LbEndpoint { Endpoint = new Endpoint { Address = new Address { SocketAddress = new SocketAddress { Address = nodeAdresses[e.NodeName], PortValue = IngressPort } } } })); assignment.Endpoints.Add(envoyEndpoint); return(assignment); }