discoveryv2connect

package
v1.10.0-20240425200945... Latest Latest
Warning

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

Go to latest
Published: unknown License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// AggregatedDiscoveryServiceStreamAggregatedResourcesProcedure is the fully-qualified name of the
	// AggregatedDiscoveryService's StreamAggregatedResources RPC.
	AggregatedDiscoveryServiceStreamAggregatedResourcesProcedure = "/envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources"
	// AggregatedDiscoveryServiceDeltaAggregatedResourcesProcedure is the fully-qualified name of the
	// AggregatedDiscoveryService's DeltaAggregatedResources RPC.
	AggregatedDiscoveryServiceDeltaAggregatedResourcesProcedure = "/envoy.service.discovery.v2.AggregatedDiscoveryService/DeltaAggregatedResources"
)

These constants are the fully-qualified names of the RPCs defined in this package. They're exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.

Note that these are different from the fully-qualified method names used by google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to reflection-formatted method names, remove the leading slash and convert the remaining slash to a period.

View Source
const (
	// HealthDiscoveryServiceStreamHealthCheckProcedure is the fully-qualified name of the
	// HealthDiscoveryService's StreamHealthCheck RPC.
	HealthDiscoveryServiceStreamHealthCheckProcedure = "/envoy.service.discovery.v2.HealthDiscoveryService/StreamHealthCheck"
	// HealthDiscoveryServiceFetchHealthCheckProcedure is the fully-qualified name of the
	// HealthDiscoveryService's FetchHealthCheck RPC.
	HealthDiscoveryServiceFetchHealthCheckProcedure = "/envoy.service.discovery.v2.HealthDiscoveryService/FetchHealthCheck"
)

These constants are the fully-qualified names of the RPCs defined in this package. They're exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.

Note that these are different from the fully-qualified method names used by google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to reflection-formatted method names, remove the leading slash and convert the remaining slash to a period.

View Source
const (
	// RuntimeDiscoveryServiceStreamRuntimeProcedure is the fully-qualified name of the
	// RuntimeDiscoveryService's StreamRuntime RPC.
	RuntimeDiscoveryServiceStreamRuntimeProcedure = "/envoy.service.discovery.v2.RuntimeDiscoveryService/StreamRuntime"
	// RuntimeDiscoveryServiceDeltaRuntimeProcedure is the fully-qualified name of the
	// RuntimeDiscoveryService's DeltaRuntime RPC.
	RuntimeDiscoveryServiceDeltaRuntimeProcedure = "/envoy.service.discovery.v2.RuntimeDiscoveryService/DeltaRuntime"
	// RuntimeDiscoveryServiceFetchRuntimeProcedure is the fully-qualified name of the
	// RuntimeDiscoveryService's FetchRuntime RPC.
	RuntimeDiscoveryServiceFetchRuntimeProcedure = "/envoy.service.discovery.v2.RuntimeDiscoveryService/FetchRuntime"
)

These constants are the fully-qualified names of the RPCs defined in this package. They're exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.

Note that these are different from the fully-qualified method names used by google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to reflection-formatted method names, remove the leading slash and convert the remaining slash to a period.

View Source
const (
	// SecretDiscoveryServiceDeltaSecretsProcedure is the fully-qualified name of the
	// SecretDiscoveryService's DeltaSecrets RPC.
	SecretDiscoveryServiceDeltaSecretsProcedure = "/envoy.service.discovery.v2.SecretDiscoveryService/DeltaSecrets"
	// SecretDiscoveryServiceStreamSecretsProcedure is the fully-qualified name of the
	// SecretDiscoveryService's StreamSecrets RPC.
	SecretDiscoveryServiceStreamSecretsProcedure = "/envoy.service.discovery.v2.SecretDiscoveryService/StreamSecrets"
	// SecretDiscoveryServiceFetchSecretsProcedure is the fully-qualified name of the
	// SecretDiscoveryService's FetchSecrets RPC.
	SecretDiscoveryServiceFetchSecretsProcedure = "/envoy.service.discovery.v2.SecretDiscoveryService/FetchSecrets"
)

These constants are the fully-qualified names of the RPCs defined in this package. They're exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.

Note that these are different from the fully-qualified method names used by google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to reflection-formatted method names, remove the leading slash and convert the remaining slash to a period.

View Source
const (
	// AggregatedDiscoveryServiceName is the fully-qualified name of the AggregatedDiscoveryService
	// service.
	AggregatedDiscoveryServiceName = "envoy.service.discovery.v2.AggregatedDiscoveryService"
)
View Source
const (
	// HealthDiscoveryServiceName is the fully-qualified name of the HealthDiscoveryService service.
	HealthDiscoveryServiceName = "envoy.service.discovery.v2.HealthDiscoveryService"
)
View Source
const (
	// RuntimeDiscoveryServiceName is the fully-qualified name of the RuntimeDiscoveryService service.
	RuntimeDiscoveryServiceName = "envoy.service.discovery.v2.RuntimeDiscoveryService"
)
View Source
const (
	// SecretDiscoveryServiceName is the fully-qualified name of the SecretDiscoveryService service.
	SecretDiscoveryServiceName = "envoy.service.discovery.v2.SecretDiscoveryService"
)

Variables

This section is empty.

Functions

func NewAggregatedDiscoveryServiceHandler

func NewAggregatedDiscoveryServiceHandler(svc AggregatedDiscoveryServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler)

NewAggregatedDiscoveryServiceHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.

By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.

func NewHealthDiscoveryServiceHandler

func NewHealthDiscoveryServiceHandler(svc HealthDiscoveryServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler)

NewHealthDiscoveryServiceHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.

By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.

func NewRuntimeDiscoveryServiceHandler

func NewRuntimeDiscoveryServiceHandler(svc RuntimeDiscoveryServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler)

NewRuntimeDiscoveryServiceHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.

By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.

func NewSecretDiscoveryServiceHandler

func NewSecretDiscoveryServiceHandler(svc SecretDiscoveryServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler)

NewSecretDiscoveryServiceHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.

By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.

Types

type AggregatedDiscoveryServiceClient

type AggregatedDiscoveryServiceClient interface {
	// This is a gRPC-only API.
	StreamAggregatedResources(context.Context) *connect_go.BidiStreamForClient[v2.DiscoveryRequest, v2.DiscoveryResponse]
	DeltaAggregatedResources(context.Context) *connect_go.BidiStreamForClient[v2.DeltaDiscoveryRequest, v2.DeltaDiscoveryResponse]
}

AggregatedDiscoveryServiceClient is a client for the envoy.service.discovery.v2.AggregatedDiscoveryService service.

func NewAggregatedDiscoveryServiceClient

func NewAggregatedDiscoveryServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) AggregatedDiscoveryServiceClient

NewAggregatedDiscoveryServiceClient constructs a client for the envoy.service.discovery.v2.AggregatedDiscoveryService service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.

The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).

type AggregatedDiscoveryServiceHandler

type AggregatedDiscoveryServiceHandler interface {
	// This is a gRPC-only API.
	StreamAggregatedResources(context.Context, *connect_go.BidiStream[v2.DiscoveryRequest, v2.DiscoveryResponse]) error
	DeltaAggregatedResources(context.Context, *connect_go.BidiStream[v2.DeltaDiscoveryRequest, v2.DeltaDiscoveryResponse]) error
}

AggregatedDiscoveryServiceHandler is an implementation of the envoy.service.discovery.v2.AggregatedDiscoveryService service.

type HealthDiscoveryServiceClient

type HealthDiscoveryServiceClient interface {
	//  1. Envoy starts up and if its can_healthcheck option in the static
	//     bootstrap config is enabled, sends HealthCheckRequest to the management
	//     server. It supplies its capabilities (which protocol it can health check
	//     with, what zone it resides in, etc.).
	//  2. In response to (1), the management server designates this Envoy as a
	//     healthchecker to health check a subset of all upstream hosts for a given
	//     cluster (for example upstream Host 1 and Host 2). It streams
	//     HealthCheckSpecifier messages with cluster related configuration for all
	//     clusters this Envoy is designated to health check. Subsequent
	//     HealthCheckSpecifier message will be sent on changes to:
	//     a. Endpoints to health checks
	//     b. Per cluster configuration change
	//  3. Envoy creates a health probe based on the HealthCheck config and sends
	//     it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck
	//     configuration Envoy waits upon the arrival of the probe response and
	//     looks at the content of the response to decide whether the endpoint is
	//     healthy or not. If a response hasn't been received within the timeout
	//     interval, the endpoint health status is considered TIMEOUT.
	//  4. Envoy reports results back in an EndpointHealthResponse message.
	//     Envoy streams responses as often as the interval configured by the
	//     management server in HealthCheckSpecifier.
	//  5. The management Server collects health statuses for all endpoints in the
	//     cluster (for all clusters) and uses this information to construct
	//     EndpointDiscoveryResponse messages.
	//  6. Once Envoy has a list of upstream endpoints to send traffic to, it load
	//     balances traffic to them without additional health checking. It may
	//     use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection
	//     failed to a particular endpoint to account for health status propagation
	//     delay between HDS and EDS).
	//
	// By default, can_healthcheck is true. If can_healthcheck is false, Cluster
	// configuration may not contain HealthCheck message.
	// TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above
	// invariant?
	// TODO(htuch): Add @amb67's diagram.
	StreamHealthCheck(context.Context) *connect_go.BidiStreamForClient[v2.HealthCheckRequestOrEndpointHealthResponse, v2.HealthCheckSpecifier]
	// TODO(htuch): Unlike the gRPC version, there is no stream-based binding of
	// request/response. Should we add an identifier to the HealthCheckSpecifier
	// to bind with the response?
	FetchHealthCheck(context.Context, *connect_go.Request[v2.HealthCheckRequestOrEndpointHealthResponse]) (*connect_go.Response[v2.HealthCheckSpecifier], error)
}

HealthDiscoveryServiceClient is a client for the envoy.service.discovery.v2.HealthDiscoveryService service.

func NewHealthDiscoveryServiceClient

func NewHealthDiscoveryServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) HealthDiscoveryServiceClient

NewHealthDiscoveryServiceClient constructs a client for the envoy.service.discovery.v2.HealthDiscoveryService service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.

The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).

type HealthDiscoveryServiceHandler

type HealthDiscoveryServiceHandler interface {
	//  1. Envoy starts up and if its can_healthcheck option in the static
	//     bootstrap config is enabled, sends HealthCheckRequest to the management
	//     server. It supplies its capabilities (which protocol it can health check
	//     with, what zone it resides in, etc.).
	//  2. In response to (1), the management server designates this Envoy as a
	//     healthchecker to health check a subset of all upstream hosts for a given
	//     cluster (for example upstream Host 1 and Host 2). It streams
	//     HealthCheckSpecifier messages with cluster related configuration for all
	//     clusters this Envoy is designated to health check. Subsequent
	//     HealthCheckSpecifier message will be sent on changes to:
	//     a. Endpoints to health checks
	//     b. Per cluster configuration change
	//  3. Envoy creates a health probe based on the HealthCheck config and sends
	//     it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck
	//     configuration Envoy waits upon the arrival of the probe response and
	//     looks at the content of the response to decide whether the endpoint is
	//     healthy or not. If a response hasn't been received within the timeout
	//     interval, the endpoint health status is considered TIMEOUT.
	//  4. Envoy reports results back in an EndpointHealthResponse message.
	//     Envoy streams responses as often as the interval configured by the
	//     management server in HealthCheckSpecifier.
	//  5. The management Server collects health statuses for all endpoints in the
	//     cluster (for all clusters) and uses this information to construct
	//     EndpointDiscoveryResponse messages.
	//  6. Once Envoy has a list of upstream endpoints to send traffic to, it load
	//     balances traffic to them without additional health checking. It may
	//     use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection
	//     failed to a particular endpoint to account for health status propagation
	//     delay between HDS and EDS).
	//
	// By default, can_healthcheck is true. If can_healthcheck is false, Cluster
	// configuration may not contain HealthCheck message.
	// TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above
	// invariant?
	// TODO(htuch): Add @amb67's diagram.
	StreamHealthCheck(context.Context, *connect_go.BidiStream[v2.HealthCheckRequestOrEndpointHealthResponse, v2.HealthCheckSpecifier]) error
	// TODO(htuch): Unlike the gRPC version, there is no stream-based binding of
	// request/response. Should we add an identifier to the HealthCheckSpecifier
	// to bind with the response?
	FetchHealthCheck(context.Context, *connect_go.Request[v2.HealthCheckRequestOrEndpointHealthResponse]) (*connect_go.Response[v2.HealthCheckSpecifier], error)
}

HealthDiscoveryServiceHandler is an implementation of the envoy.service.discovery.v2.HealthDiscoveryService service.

type RuntimeDiscoveryServiceClient

RuntimeDiscoveryServiceClient is a client for the envoy.service.discovery.v2.RuntimeDiscoveryService service.

func NewRuntimeDiscoveryServiceClient

func NewRuntimeDiscoveryServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) RuntimeDiscoveryServiceClient

NewRuntimeDiscoveryServiceClient constructs a client for the envoy.service.discovery.v2.RuntimeDiscoveryService service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.

The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).

type RuntimeDiscoveryServiceHandler

RuntimeDiscoveryServiceHandler is an implementation of the envoy.service.discovery.v2.RuntimeDiscoveryService service.

type SecretDiscoveryServiceClient

SecretDiscoveryServiceClient is a client for the envoy.service.discovery.v2.SecretDiscoveryService service.

func NewSecretDiscoveryServiceClient

func NewSecretDiscoveryServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) SecretDiscoveryServiceClient

NewSecretDiscoveryServiceClient constructs a client for the envoy.service.discovery.v2.SecretDiscoveryService service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.

The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).

type SecretDiscoveryServiceHandler

SecretDiscoveryServiceHandler is an implementation of the envoy.service.discovery.v2.SecretDiscoveryService service.

type UnimplementedAggregatedDiscoveryServiceHandler

type UnimplementedAggregatedDiscoveryServiceHandler struct{}

UnimplementedAggregatedDiscoveryServiceHandler returns CodeUnimplemented from all methods.

func (UnimplementedAggregatedDiscoveryServiceHandler) DeltaAggregatedResources

func (UnimplementedAggregatedDiscoveryServiceHandler) StreamAggregatedResources

type UnimplementedHealthDiscoveryServiceHandler

type UnimplementedHealthDiscoveryServiceHandler struct{}

UnimplementedHealthDiscoveryServiceHandler returns CodeUnimplemented from all methods.

func (UnimplementedHealthDiscoveryServiceHandler) FetchHealthCheck

func (UnimplementedHealthDiscoveryServiceHandler) StreamHealthCheck

type UnimplementedRuntimeDiscoveryServiceHandler

type UnimplementedRuntimeDiscoveryServiceHandler struct{}

UnimplementedRuntimeDiscoveryServiceHandler returns CodeUnimplemented from all methods.

func (UnimplementedRuntimeDiscoveryServiceHandler) DeltaRuntime

func (UnimplementedRuntimeDiscoveryServiceHandler) FetchRuntime

func (UnimplementedRuntimeDiscoveryServiceHandler) StreamRuntime

type UnimplementedSecretDiscoveryServiceHandler

type UnimplementedSecretDiscoveryServiceHandler struct{}

UnimplementedSecretDiscoveryServiceHandler returns CodeUnimplemented from all methods.

func (UnimplementedSecretDiscoveryServiceHandler) DeltaSecrets

func (UnimplementedSecretDiscoveryServiceHandler) FetchSecrets

func (UnimplementedSecretDiscoveryServiceHandler) StreamSecrets

Jump to

Keyboard shortcuts

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