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 interface{}) error
- func CreateGrpcConnectionWithConfig(config interface{}, pluginManager interface{}) (*ggrpc.ClientConn, error)
- func GetGrpcClientPlugin(pluginManager interface{}) (interface{}, error)
- func GetGrpcConnection(serviceName string, pluginManager interface{}) (*ggrpc.ClientConn, error)
- func GetGrpcConnectionCount(pluginManager interface{}) (int, error)
- func GetGrpcConnectionStatus(pluginManager interface{}) (map[string]string, error)
- func GetGrpcMetrics(pluginManager interface{}) (*interface{}, error)
- func HealthCheckGrpcConnections(pluginManager interface{}) error
- func InitializeGrpcClientIntegration(pluginManager interface{}) 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 interface{}) (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 interface{}, pluginManager interface{}) (*ggrpc.ClientConn, error)
CreateGrpcConnectionWithConfig creates a gRPC connection with custom configuration
func GetGrpcClientPlugin ¶
func GetGrpcClientPlugin(pluginManager interface{}) (interface{}, error)
GetGrpcClientPlugin returns the gRPC client plugin instance
func GetGrpcConnection ¶
func GetGrpcConnection(serviceName string, pluginManager interface{}) (*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 ¶
func GetGrpcMetrics(pluginManager interface{}) (*interface{}, error)
GetGrpcMetrics returns gRPC client metrics
func HealthCheckGrpcConnections ¶
func HealthCheckGrpcConnections(pluginManager interface{}) error
HealthCheckGrpcConnections performs health check on all gRPC connections
func InitializeGrpcClientIntegration ¶
func InitializeGrpcClientIntegration(pluginManager interface{}) error
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 subscribes to the specified GRPC service and returns a gGrpc.ClientConn connection instance. Returns nil if service name is empty.
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.