Documentation
¶
Index ¶
- Constants
- func BuildCircuitBreakerMap(dataplane *core_mesh.DataplaneResource, destinations core_xds.DestinationMap, ...) core_xds.CircuitBreakerMap
- func BuildCrossMeshEndpointMap(mesh *core_mesh.MeshResource, otherMesh *core_mesh.MeshResource, zone string, ...) core_xds.EndpointMap
- func BuildDestinationMap(dataplane *core_mesh.DataplaneResource, routes core_xds.RouteMap) core_xds.DestinationMap
- func BuildEdsEndpointMap(mesh *core_mesh.MeshResource, zone string, ...) core_xds.EndpointMap
- func BuildEndpointMap(mesh *core_mesh.MeshResource, zone string, ...) core_xds.EndpointMap
- func BuildHealthCheckMap(dataplane *core_mesh.DataplaneResource, destinations core_xds.DestinationMap, ...) core_xds.HealthCheckMap
- func BuildRemoteEndpointMap(mesh *core_mesh.MeshResource, zone string, ...) core_xds.EndpointMap
- func BuildRetryMap(dataplane *core_mesh.DataplaneResource, retries []*core_mesh.RetryResource, ...) core_xds.RetryMap
- func BuildRouteMap(dataplane *core_mesh.DataplaneResource, ...) core_xds.RouteMap
- func BuildTimeoutMap(dataplane *core_mesh.DataplaneResource, timeouts []*core_mesh.TimeoutResource) core_xds.TimeoutMap
- func CrossMeshEndpointTags(gateways []*core_mesh.MeshGatewayResource, ...) []mesh_proto.SingleValueTagSet
- func GetCircuitBreakers(ctx context.Context, dataplane *core_mesh.DataplaneResource, ...) (core_xds.CircuitBreakerMap, error)
- func GetHealthChecks(ctx context.Context, dataplane *core_mesh.DataplaneResource, ...) (core_xds.HealthCheckMap, error)
- func GetRetries(ctx context.Context, dataplane *core_mesh.DataplaneResource, ...) (core_xds.RetryMap, error)
- func GetRoutes(ctx context.Context, dataplane *core_mesh.DataplaneResource, ...) (core_xds.RouteMap, error)
- func GetTimeouts(ctx context.Context, dataplane *core_mesh.DataplaneResource, ...) (core_xds.TimeoutMap, error)
- func GetTrafficTrace(ctx context.Context, dataplane *core_mesh.DataplaneResource, ...) (*core_mesh.TrafficTraceResource, error)
- func NewExternalServiceEndpoint(externalService *core_mesh.ExternalServiceResource, ...) (*core_xds.Endpoint, error)
- func ResolveAddress(lookupIPFunc lookup.LookupIPFunc, dataplane *core_mesh.DataplaneResource) (*core_mesh.DataplaneResource, error)
- func ResolveAddresses(log logr.Logger, lookupIPFunc lookup.LookupIPFunc, ...) []*core_mesh.DataplaneResource
- func ResolveZoneIngressAddresses(log logr.Logger, lookupIPFunc lookup.LookupIPFunc, ...) []*core_mesh.ZoneIngressResource
- func ResolveZoneIngressPublicAddress(lookupIPFunc lookup.LookupIPFunc, zoneIngress *core_mesh.ZoneIngressResource) (*core_mesh.ZoneIngressResource, error)
- func SelectGateway(gateways []*core_mesh.MeshGatewayResource, tagMatcher core_policy.TagMatcher) *core_mesh.MeshGatewayResource
- func SelectTrafficTrace(dataplane *core_mesh.DataplaneResource, ...) *core_mesh.TrafficTraceResource
- func VIPOutbounds(virtualOutboundView *vips.VirtualOutboundMeshView, tldomain string) ([]xds.VIPDomains, []*mesh_proto.Dataplane_Networking_Outbound)
Constants ¶
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 ¶
func GetCircuitBreakers(ctx context.Context, dataplane *core_mesh.DataplaneResource, destinations core_xds.DestinationMap, manager core_manager.ReadOnlyResourceManager) (core_xds.CircuitBreakerMap, error)
GetCircuitBreakers resolves all CircuitBreakers applicable to a given Dataplane.
func GetHealthChecks ¶
func GetHealthChecks(ctx context.Context, dataplane *core_mesh.DataplaneResource, destinations core_xds.DestinationMap, manager core_manager.ReadOnlyResourceManager) (core_xds.HealthCheckMap, error)
GetHealthChecks resolves all HealthChecks applicable to a given Dataplane.
func GetRetries ¶
func GetRetries( ctx context.Context, dataplane *core_mesh.DataplaneResource, destinations core_xds.DestinationMap, manager core_manager.ReadOnlyResourceManager, ) (core_xds.RetryMap, error)
func GetRoutes ¶
func GetRoutes(ctx context.Context, dataplane *core_mesh.DataplaneResource, manager core_manager.ReadOnlyResourceManager) (core_xds.RouteMap, error)
GetRoutes picks a single the most specific route for each outbound interface of a given Dataplane.
func GetTimeouts ¶
func GetTimeouts( ctx context.Context, dataplane *core_mesh.DataplaneResource, manager core_manager.ReadOnlyResourceManager, ) (core_xds.TimeoutMap, error)
GetTimeouts picks a single the most specific timeout for each outbound interface of a given Dataplane.
func GetTrafficTrace ¶
func GetTrafficTrace(ctx context.Context, dataplane *core_mesh.DataplaneResource, manager core_manager.ReadOnlyResourceManager) (*core_mesh.TrafficTraceResource, error)
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 SelectTrafficTrace ¶
func SelectTrafficTrace(dataplane *core_mesh.DataplaneResource, traces []*core_mesh.TrafficTraceResource) *core_mesh.TrafficTraceResource
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.