grpcutil

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const ForwardMetadataKey = "pd-forwarded-host"

ForwardMetadataKey is used to record the forwarded host of PD.

Variables

This section is empty.

Functions

func BuildForwardContext

func BuildForwardContext(ctx context.Context, addr string) context.Context

BuildForwardContext creates a context with receiver metadata information. It is used in client side.

func GetClientConn

func GetClientConn(ctx context.Context, addr string, tlsCfg *tls.Config, do ...grpc.DialOption) (*grpc.ClientConn, error)

GetClientConn returns a gRPC client connection. creates a client connection to the given target. By default, it's a non-blocking dial (the function won't wait for connections to be established, and connecting happens in the background). To make it a blocking dial, use WithBlock() dial option.

In the non-blocking case, the ctx does not act against the connection. It only controls the setup steps.

In the blocking case, ctx can be used to cancel or expire the pending connection. Once this function returns, the cancellation and expiration of ctx will be noop. Users should call ClientConn.Close to terminate all the pending operations after this function returns.

func GetForwardedHost

func GetForwardedHost(ctx context.Context) string

GetForwardedHost returns the forwarded host in metadata.

func ResetForwardContext

func ResetForwardContext(ctx context.Context) context.Context

ResetForwardContext is going to reset the forwarded host in metadata.

Types

type TLSConfig

type TLSConfig struct {
	// CAPath is the path of file that contains list of trusted SSL CAs. if set, following four settings shouldn't be empty
	CAPath string `toml:"cacert-path" json:"cacert-path"`
	// CertPath is the path of file that contains X509 certificate in PEM format.
	CertPath string `toml:"cert-path" json:"cert-path"`
	// KeyPath is the path of file that contains X509 key in PEM format.
	KeyPath string `toml:"key-path" json:"key-path"`
	// CertAllowedCN is a CN which must be provided by a client
	CertAllowedCN []string `toml:"cert-allowed-cn" json:"cert-allowed-cn"`

	SSLCABytes   []byte
	SSLCertBytes []byte
	SSLKEYBytes  []byte
}

TLSConfig is the configuration for supporting tls.

func (TLSConfig) GetOneAllowedCN

func (s TLSConfig) GetOneAllowedCN() (string, error)

GetOneAllowedCN only gets the first one CN.

func (TLSConfig) ToTLSConfig

func (s TLSConfig) ToTLSConfig() (*tls.Config, error)

ToTLSConfig generates tls config.

Jump to

Keyboard shortcuts

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