topology

package
v1.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2022 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const VIPListenPort = uint32(80)

Variables

This section is empty.

Functions

func BuildCircuitBreakerMap

func BuildCircuitBreakerMap(dataplane *core_mesh.DataplaneResource, destinations core_xds.DestinationMap, circuitBreakers []*core_mesh.CircuitBreakerResource) core_xds.CircuitBreakerMap

BuildCircuitBreakerMap creates a map with circuit-breaking configuration per reachable service.

func BuildCrossMeshEndpointMap added in v1.8.1

func BuildCrossMeshEndpointMap(
	mesh *core_mesh.MeshResource,
	otherMesh *core_mesh.MeshResource,
	zone string,
	gateways []*core_mesh.MeshGatewayResource,
	dataplanes []*core_mesh.DataplaneResource,
	zoneIngresses []*core_mesh.ZoneIngressResource,
	zoneEgresses []*core_mesh.ZoneEgressResource,
) core_xds.EndpointMap

func BuildDestinationMap

func BuildDestinationMap(dataplane *core_mesh.DataplaneResource, routes core_xds.RouteMap) core_xds.DestinationMap

BuildDestinationMap creates a map of selectors to match other dataplanes reachable from a given one via given routes.

func BuildEdsEndpointMap

func BuildEdsEndpointMap(
	mesh *core_mesh.MeshResource,
	zone string,
	dataplanes []*core_mesh.DataplaneResource,
	zoneIngresses []*core_mesh.ZoneIngressResource,
	zoneEgresses []*core_mesh.ZoneEgressResource,
	externalServices []*core_mesh.ExternalServiceResource,
) core_xds.EndpointMap

func BuildEndpointMap

func BuildEndpointMap(
	mesh *core_mesh.MeshResource,
	zone string,
	dataplanes []*core_mesh.DataplaneResource,
	zoneIngresses []*core_mesh.ZoneIngressResource,
	zoneEgresses []*core_mesh.ZoneEgressResource,
	externalServices []*core_mesh.ExternalServiceResource,
	loader datasource.Loader,
) core_xds.EndpointMap

BuildEndpointMap creates a map of all endpoints that match given selectors.

func BuildHealthCheckMap

func BuildHealthCheckMap(dataplane *core_mesh.DataplaneResource, destinations core_xds.DestinationMap, healthChecks []*core_mesh.HealthCheckResource) core_xds.HealthCheckMap

BuildHealthCheckMap creates a map with health-checking configuration per reachable service.

func BuildRemoteEndpointMap added in v1.8.1

func BuildRemoteEndpointMap(
	mesh *core_mesh.MeshResource,
	zone string,
	zoneIngresses []*core_mesh.ZoneIngressResource,
	externalServices []*core_mesh.ExternalServiceResource,
	loader datasource.Loader,
) core_xds.EndpointMap

BuildRemoteEndpointMap creates a map of endpoints that match given selectors and are not local for the provided zone (external services and services behind remote zone ingress only)

func BuildRetryMap

func BuildRetryMap(
	dataplane *core_mesh.DataplaneResource,
	retries []*core_mesh.RetryResource,
	destinations core_xds.DestinationMap,
) core_xds.RetryMap

func BuildRouteMap

func BuildRouteMap(dataplane *core_mesh.DataplaneResource, routes []*core_mesh.TrafficRouteResource) core_xds.RouteMap

BuildRouteMap picks a single the most specific route for each outbound interface of a given Dataplane.

func BuildTimeoutMap

func BuildTimeoutMap(dataplane *core_mesh.DataplaneResource, timeouts []*core_mesh.TimeoutResource) core_xds.TimeoutMap

BuildTimeoutMap picks a single the most specific timeout for each outbound interface of a given Dataplane.

func CrossMeshEndpointTags added in v1.8.1

func CrossMeshEndpointTags(
	gateways []*core_mesh.MeshGatewayResource,
	dataplanes []*core_mesh.DataplaneResource,
) []mesh_proto.SingleValueTagSet

func GetCircuitBreakers

GetCircuitBreakers resolves all CircuitBreakers applicable to a given Dataplane.

func GetHealthChecks

GetHealthChecks resolves all HealthChecks applicable to a given Dataplane.

func GetRoutes

GetRoutes picks a single the most specific route for each outbound interface of a given Dataplane.

func GetTimeouts

GetTimeouts picks a single the most specific timeout for each outbound interface of a given Dataplane.

func NewExternalServiceEndpoint added in v1.8.1

func NewExternalServiceEndpoint(
	externalService *core_mesh.ExternalServiceResource,
	mesh *core_mesh.MeshResource,
	loader datasource.Loader,
	zone string,
) (*core_xds.Endpoint, error)

NewExternalServiceEndpoint builds a new Endpoint from an ExternalServiceResource.

func ResolveAddress

func ResolveAddress(lookupIPFunc lookup.LookupIPFunc, dataplane *core_mesh.DataplaneResource) (*core_mesh.DataplaneResource, error)

ResolveAddress resolves 'dataplane.networking.address' if it has DNS name in it. This is a crucial feature for some environments specifically AWS ECS. Dataplane resource has to be created before running Kuma DP, but IP address will be assigned only after container's start. Envoy EDS doesn't support DNS names, that's why Kuma CP resolves addresses before sending resources to the proxy.

func ResolveAddresses

func ResolveAddresses(log logr.Logger, lookupIPFunc lookup.LookupIPFunc, dataplanes []*core_mesh.DataplaneResource) []*core_mesh.DataplaneResource

func ResolveZoneIngressAddresses

func ResolveZoneIngressAddresses(log logr.Logger, lookupIPFunc lookup.LookupIPFunc, zoneIngresses []*core_mesh.ZoneIngressResource) []*core_mesh.ZoneIngressResource

func ResolveZoneIngressPublicAddress

func ResolveZoneIngressPublicAddress(lookupIPFunc lookup.LookupIPFunc, zoneIngress *core_mesh.ZoneIngressResource) (*core_mesh.ZoneIngressResource, error)

func SelectGateway added in v1.8.1

func SelectGateway(gateways []*core_mesh.MeshGatewayResource, tagMatcher core_policy.TagMatcher) *core_mesh.MeshGatewayResource

func VIPOutbounds added in v1.8.1

func VIPOutbounds(
	virtualOutboundView *vips.VirtualOutboundMeshView,
	tldomain string,
) ([]xds.VIPDomains, []*mesh_proto.Dataplane_Networking_Outbound)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL