...

Package destination

import "github.com/linkerd/linkerd2/controller/api/destination"
Overview
Index
Subdirectories

Overview ▾

func FuzzAdd

func FuzzAdd(data []byte) int

FuzzAdd fuzzes the Add method of the destination server.

func FuzzGet

func FuzzGet(data []byte) int

FuzzGet fuzzes the Get method of the destination server.

func FuzzGetProfile

func FuzzGetProfile(data []byte) int

FuzzGetProfile fuzzes the GetProfile method of the destination server.

func FuzzProfileTranslatorUpdate

func FuzzProfileTranslatorUpdate(data []byte) int

FuzzProfileTranslatorUpdate fuzzes the Update method of the profile translator.

func NewClient

func NewClient(addr string) (pb.DestinationClient, *grpc.ClientConn, error)

NewClient creates a client for the control plane Destination API that implements the Destination service.

func NewExternalClient

func NewExternalClient(ctx context.Context, controlPlaneNamespace string, kubeAPI *k8s.KubernetesAPI, pod string) (pb.DestinationClient, *grpc.ClientConn, error)

NewExternalClient creates a client for the control plane Destination API to run from outside a Kubernetes cluster.

func NewServer

func NewServer(
    addr string,
    config Config,
    k8sAPI *k8s.API,
    metadataAPI *k8s.MetadataAPI,
    clusterStore *watcher.ClusterStore,
    shutdown <-chan struct{},
) (*grpc.Server, error)

NewServer returns a new instance of the destination server.

The destination server serves service discovery and other information to the proxy. This implementation supports the "k8s" destination scheme and expects destination paths to be of the form: <service>.<namespace>.svc.cluster.local:<port>

If the port is omitted, 80 is used as a default. If the namespace is omitted, "default" is used as a default.append

Addresses for the given destination are fetched from the Kubernetes Endpoints API.

type Config

type Config struct {
    ControllerNS,
    IdentityTrustDomain,
    ClusterDomain string

    EnableH2Upgrade,
    EnableEndpointSlices,
    EnableIPv6,
    ExtEndpointZoneWeights bool

    MeshedHttp2ClientParams *pb.Http2ClientParams

    DefaultOpaquePorts map[uint32]struct{}
}

Subdirectories

Name Synopsis
..
external-workload
watcher