external

package
v1.16.109 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2023 License: MPL-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContextWithQueryOptions

func ContextWithQueryOptions(ctx context.Context, options structs.QueryOptions) (context.Context, error)

ContextWithQueryOptions returns a context with the given query options attached.

func ForwardMetadataContext

func ForwardMetadataContext(ctx context.Context) context.Context

func GRPCMetadataFromQueryMeta

func GRPCMetadataFromQueryMeta(queryMeta structs.QueryMeta) (metadata.MD, error)

GRPCMetadataFromQueryMeta returns a metadata struct with fields from the structs.QueryMeta attached. The return value is suitable for attaching to a gRPC header/trailer.

func NewServer

func NewServer(logger agentmiddleware.Logger, metricsObj *metrics.Metrics, tls *tlsutil.Configurator, limiter rate.RequestLimitsHandler) *grpc.Server

NewServer constructs a gRPC server for the external gRPC port, to which handlers can be registered.

func QueryMetaFromGRPCMeta

func QueryMetaFromGRPCMeta(md metadata.MD) (structs.QueryMeta, error)

QueryMetaFromGRPCMeta returns a structs.QueryMeta struct parsed from the metadata.MD, such as from a gRPC header or trailer.

func QueryOptionsFromContext

func QueryOptionsFromContext(ctx context.Context) (structs.QueryOptions, error)

QueryOptionsFromContext returns the query options in the gRPC metadata attached to the given context.

func RequireAnyValidACLToken

func RequireAnyValidACLToken(resolver ACLResolver, token string) error

RequireAnyValidACLToken checks that the caller provided a valid ACL token without requiring any specific permissions. This is useful for endpoints that are used by all/most consumers of our API, such as those called by the consul-server-connection-manager library when establishing a new connection.

Note: no token is required if ACLs are disabled.

func StringToQueryBackendDecodeHookFunc

func StringToQueryBackendDecodeHookFunc(f reflect.Type, t reflect.Type, data any) (any, error)

func TraceID

func TraceID() string

We tag logs with a unique identifier to ease debugging. In the future this should probably be a real Open Telemetry trace ID.

Types

type ACLResolver

type ACLResolver interface {
	ResolveTokenAndDefaultMeta(string, *acl.EnterpriseMeta, *acl.AuthorizerContext) (resolver.Result, error)
}

Directories

Path Synopsis
package limiter provides primatives for limiting the number of concurrent operations in-flight.
package limiter provides primatives for limiting the number of concurrent operations in-flight.
services
acl
dns

Jump to

Keyboard shortcuts

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