Documentation
¶
Index ¶
- func BuildGrpcSubscriptions(cfg *conf.Subscriptions, discovery registry.Discovery, ...) (map[string]*ggrpc.ClientConn, error)
- func BuildGrpcSubscriptionsLegacy(cfg *conf.Subscriptions, discovery registry.Discovery, ...) (map[string]*ggrpc.ClientConn, error)
- func BuildGrpcSubscriptionsWithPlugin(cfg *conf.Subscriptions, discovery registry.Discovery, ...) (map[string]*ggrpc.ClientConn, error)
- func CloseGrpcConnection(serviceName string, pluginManager any) error
- func CreateGrpcConnectionWithConfig(config any, pluginManager any) (*ggrpc.ClientConn, error)
- func GetGrpcClientPlugin(pluginManager any) (any, error)
- func GetGrpcConnection(serviceName string, pluginManager any) (*ggrpc.ClientConn, error)
- func GetGrpcConnectionCount(pluginManager any) (int, error)
- func GetGrpcConnectionStatus(pluginManager any) (map[string]string, error)
- func GetGrpcMetrics(pluginManager any) (any, error)
- func HealthCheckGrpcConnections(pluginManager any) error
- func InitializeGrpcClientIntegration(pluginManager any) error
- type ClientTLSProviders
- type GrpcSubscribe
- type Option
- func EnableTls() Option
- func Required() Option
- func WithConfigProvider(f func(name, group string) (config.Source, error)) Option
- func WithDefaultRootCA(f func() []byte) Option
- func WithDiscovery(discovery registry.Discovery) Option
- func WithNodeRouterFactory(f func(string) selector.NodeFilter) Option
- func WithRootCAFileGroup(caGroup string) Option
- func WithRootCAFileName(caName string) Option
- func WithServiceName(svcName string) Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildGrpcSubscriptions ¶
func BuildGrpcSubscriptions(cfg *conf.Subscriptions, discovery registry.Discovery, routerFactory func(string) selector.NodeFilter, tlsProviders *ClientTLSProviders) (map[string]*ggrpc.ClientConn, error)
BuildGrpcSubscriptions builds gRPC subscription connections based on configuration. When subscriptions use TLS, pass tlsProviders from control plane and certificate provider. tlsProviders can be nil if no subscription uses TLS. Returns map where key is service name, value is reusable gRPC ClientConn.
func BuildGrpcSubscriptionsLegacy ¶
func BuildGrpcSubscriptionsLegacy(cfg *conf.Subscriptions, discovery registry.Discovery, routerFactory func(string) selector.NodeFilter) (map[string]*ggrpc.ClientConn, error)
BuildGrpcSubscriptionsLegacy builds gRPC subscription connections using the legacy method. Does not pass TLS providers; TLS-enabled subscriptions will fail. Use BuildGrpcSubscriptions with ClientTLSProviders for TLS support.
func BuildGrpcSubscriptionsWithPlugin ¶
func BuildGrpcSubscriptionsWithPlugin(cfg *conf.Subscriptions, discovery registry.Discovery, routerFactory func(string) selector.NodeFilter, pluginManager any) (map[string]*ggrpc.ClientConn, error)
BuildGrpcSubscriptionsWithPlugin builds gRPC subscription connections using the gRPC client plugin This is the new integrated version that uses the gRPC client plugin
func CloseGrpcConnection ¶
CloseGrpcConnection closes a gRPC connection for a specific service
func CreateGrpcConnectionWithConfig ¶
func CreateGrpcConnectionWithConfig(config any, pluginManager any) (*ggrpc.ClientConn, error)
CreateGrpcConnectionWithConfig creates a gRPC connection with custom configuration
func GetGrpcClientPlugin ¶
GetGrpcClientPlugin returns the gRPC client plugin instance
func GetGrpcConnection ¶
func GetGrpcConnection(serviceName string, pluginManager any) (*ggrpc.ClientConn, error)
GetGrpcConnection gets a gRPC connection for a specific service using the plugin
func GetGrpcConnectionCount ¶
GetGrpcConnectionCount returns the number of active gRPC connections
func GetGrpcConnectionStatus ¶
GetGrpcConnectionStatus returns the status of all gRPC connections
func GetGrpcMetrics ¶
GetGrpcMetrics returns gRPC client metrics
func HealthCheckGrpcConnections ¶
HealthCheckGrpcConnections performs health check on all gRPC connections
func InitializeGrpcClientIntegration ¶
InitializeGrpcClientIntegration initializes the gRPC client integration This should be called during application startup
Types ¶
type ClientTLSProviders ¶ added in v1.5.4
type ClientTLSProviders struct {
ConfigProvider func(name, group string) (config.Source, error)
DefaultRootCA func() []byte
}
ClientTLSProviders provides TLS-related dependencies for gRPC client connections. Pass to BuildGrpcSubscriptions when subscriptions use TLS. - ConfigProvider: loads CA certificate from control plane by name/group (used when caName is configured) - DefaultRootCA: returns application's root CA (used when caName is not set)
type GrpcSubscribe ¶
type GrpcSubscribe struct {
// contains filtered or unexported fields
}
GrpcSubscribe represents a struct for subscribing to GRPC services. Contains service name, service discovery instance, TLS enablement, root CA filename and file group information.
func NewGrpcSubscribe ¶
func NewGrpcSubscribe(opts ...Option) *GrpcSubscribe
NewGrpcSubscribe creates a new GrpcSubscribe instance using the provided options. If no options are provided, default configuration will be used.
func (*GrpcSubscribe) Subscribe ¶
func (g *GrpcSubscribe) Subscribe() *gGrpc.ClientConn
Subscribe dials the configured gRPC service via discovery and returns the client connection, or nil on failure (the error is logged). When the service is marked Required, it blocks until the connection reaches Ready or a 10s timeout elapses, closing and returning nil on timeout.
type Option ¶
type Option func(o *GrpcSubscribe)
Option defines a function type for configuring GrpcSubscribe instances.
func EnableTls ¶
func EnableTls() Option
EnableTls returns an Option function for enabling TLS encryption.
func Required ¶
func Required() Option
Required returns an Option function for setting the service as a strongly dependent upstream service.
func WithConfigProvider ¶
WithConfigProvider injects configuration source provider (name, group) -> config.Source
func WithDefaultRootCA ¶
WithDefaultRootCA injects default RootCA provider
func WithDiscovery ¶
WithDiscovery returns an Option function for setting the service discovery instance.
func WithNodeRouterFactory ¶
func WithNodeRouterFactory(f func(string) selector.NodeFilter) Option
WithNodeRouterFactory injects node router factory (optional)
func WithRootCAFileGroup ¶
WithRootCAFileGroup returns an Option function for setting the group that the root CA certificate file belongs to.
func WithRootCAFileName ¶
WithRootCAFileName returns an Option function for setting the root CA certificate filename.
func WithServiceName ¶
WithServiceName returns an Option function for setting the name of the GRPC service to subscribe to.