manager

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2026 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ProviderSet = wire.NewSet(ProvideManager)

ProviderSet is the wire provider set for the extension manager package. It provides *Manager with a cleanup function that properly shuts down all extensions, services, and subsystems.

Usage:

wire.Build(
    config.ProviderSet,
    manager.ProviderSet,
    // ... other providers
)

Functions

func DefaultCallOptions

func DefaultCallOptions() *types.CallOptions

DefaultCallOptions returns default call options

Types

type GRPCExtension

type GRPCExtension interface {
	RegisterGRPCServices(server *exgrpc.Server)
}

GRPCExtension defines interface for extensions that provide gRPC services

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager manages extensions and provides unified service access

func NewManager

func NewManager(conf *config.Config) (*Manager, error)

NewManager creates a new extension manager

func ProvideManager added in v0.2.0

func ProvideManager(cfg *config.Config) (*Manager, func(), error)

ProvideManager initializes and returns the extension manager with cleanup function. The cleanup function should be called when the application shuts down to properly cleanup all extensions and release resources.

func (*Manager) CallService

func (m *Manager) CallService(ctx context.Context, serviceName, methodName string, req any) (*types.CallResult, error)

CallService provides unified service calling interface

func (*Manager) CallServiceWithOptions

func (m *Manager) CallServiceWithOptions(ctx context.Context, serviceName, methodName string, req any, opts *types.CallOptions) (*types.CallResult, error)

CallServiceWithOptions calls service

func (*Manager) CheckServiceHealth

func (m *Manager) CheckServiceHealth(name string) string

CheckServiceHealth checks service health

func (*Manager) Cleanup

func (m *Manager) Cleanup()

Cleanup cleans up all loaded extensions and subsystems

func (*Manager) CleanupOldMetrics

func (m *Manager) CleanupOldMetrics(maxAge time.Duration) error

CleanupOldMetrics removes old metrics

func (*Manager) DeregisterConsulService

func (m *Manager) DeregisterConsulService(name string) error

DeregisterConsulService deregisters a service from Consul

func (*Manager) ExecuteWithCircuitBreaker

func (m *Manager) ExecuteWithCircuitBreaker(extensionName string, fn func() (any, error)) (any, error)

ExecuteWithCircuitBreaker executes a function

func (*Manager) GetComprehensiveMetrics

func (m *Manager) GetComprehensiveMetrics() map[string]any

GetComprehensiveMetrics returns all metrics in a structured format

func (*Manager) GetConfig

func (m *Manager) GetConfig() *config.Config

GetConfig returns the manager's config

func (*Manager) GetConsulService

func (m *Manager) GetConsulService(name string) (*api.AgentService, error)

GetConsulService gets a service from Consul

func (*Manager) GetCrossService

func (m *Manager) GetCrossService(extensionName, servicePath string) (any, error)

GetCrossService gets service by extension name and service path

func (*Manager) GetData

func (m *Manager) GetData() *data.Data

GetData returns the data layer instance

func (*Manager) GetDataMetrics

func (m *Manager) GetDataMetrics() map[string]any

GetDataMetrics returns data layer metrics

func (*Manager) GetEventsMetrics

func (m *Manager) GetEventsMetrics() map[string]any

GetEventsMetrics returns event metrics

func (*Manager) GetExtension

func (m *Manager) GetExtension(name string) (types.Interface, error)

GetExtension is deprecated, use GetExtensionByName instead

func (*Manager) GetExtensionByName

func (m *Manager) GetExtensionByName(name string) (types.Interface, error)

GetExtensionByName returns a specific extension by name

func (*Manager) GetExtensionMetrics

func (m *Manager) GetExtensionMetrics(name string) *metrics.ExtensionMetrics

GetExtensionMetrics returns metrics for specific extension

func (*Manager) GetExtensionPublisher

func (m *Manager) GetExtensionPublisher(name string, publisherType reflect.Type) (any, error)

GetExtensionPublisher returns a specific extension publisher

func (*Manager) GetExtensionSubscriber

func (m *Manager) GetExtensionSubscriber(name string, subscriberType reflect.Type) (any, error)

GetExtensionSubscriber returns a specific extension subscriber

func (*Manager) GetExtensions

func (m *Manager) GetExtensions() map[string]*types.Wrapper

GetExtensions is deprecated, use ListExtensions instead

func (*Manager) GetHandler

func (m *Manager) GetHandler(name string) (types.Handler, error)

GetHandler is deprecated, use GetHandlerByName instead

func (*Manager) GetHandlerByName

func (m *Manager) GetHandlerByName(name string) (types.Handler, error)

GetHandlerByName returns a specific handler from an extension

func (*Manager) GetHandlers

func (m *Manager) GetHandlers() map[string]types.Handler

GetHandlers is deprecated, use ListHandlers instead

func (*Manager) GetHealthyServices

func (m *Manager) GetHealthyServices(name string) ([]*api.ServiceEntry, error)

GetHealthyServices gets healthy services

func (*Manager) GetLatestMetrics

func (m *Manager) GetLatestMetrics(extensionName string, limit int) ([]*metrics.Snapshot, error)

GetLatestMetrics gets latest metrics for an extension

func (*Manager) GetMetadata

func (m *Manager) GetMetadata() map[string]types.Metadata

GetMetadata returns the metadata of all registered extensions

func (*Manager) GetMetrics

func (m *Manager) GetMetrics() map[string]any

GetMetrics returns comprehensive metrics

func (*Manager) GetMetricsStorageStats

func (m *Manager) GetMetricsStorageStats() map[string]any

GetMetricsStorageStats returns storage statistics

func (*Manager) GetService

func (m *Manager) GetService(extensionName string) (types.Service, error)

GetService is deprecated, use GetServiceByName instead

func (*Manager) GetServiceByName

func (m *Manager) GetServiceByName(extensionName string) (types.Service, error)

GetServiceByName returns a specific service from an extension

func (*Manager) GetServiceCacheStats

func (m *Manager) GetServiceCacheStats() map[string]any

GetServiceCacheStats returns service cache statistics

func (*Manager) GetServices

func (m *Manager) GetServices() map[string]types.Service

GetServices is deprecated, use ListServices instead

func (*Manager) GetStatus

func (m *Manager) GetStatus() map[string]string

GetStatus returns the status of all registered extensions

func (*Manager) GetSystemMetrics

func (m *Manager) GetSystemMetrics() map[string]any

GetSystemMetrics returns system metrics from all layers

func (*Manager) InitExtensions

func (m *Manager) InitExtensions() error

InitExtensions initializes all registered extensions

func (*Manager) IsFullyInitialized

func (m *Manager) IsFullyInitialized() bool

IsFullyInitialized checks if all extensions are ready

func (*Manager) IsMetricsEnabled

func (m *Manager) IsMetricsEnabled() bool

IsMetricsEnabled returns whether metrics collection is enabled

func (*Manager) ListExtensions

func (m *Manager) ListExtensions() map[string]*types.Wrapper

ListExtensions returns all loaded extensions

func (*Manager) ListHandlers

func (m *Manager) ListHandlers() map[string]types.Handler

ListHandlers returns all registered extension handlers

func (*Manager) ListServices

func (m *Manager) ListServices() map[string]types.Service

ListServices returns all registered extension services

func (*Manager) LoadPlugin

func (m *Manager) LoadPlugin(path string) error

LoadPlugin loads a single plugin from file with security checks and metrics

func (*Manager) LoadPlugins

func (m *Manager) LoadPlugins() error

LoadPlugins loads all plugins based on configuration

func (*Manager) ManageRoutes

func (m *Manager) ManageRoutes(r *gin.RouterGroup)

ManageRoutes mounts extension management routes.

Health routes are public. Extension inventory, metrics, plugin operations, and system management routes are mounted only when at least one guard middleware is provided by the host application.

func (*Manager) ManageRoutesWithGuard added in v0.2.5

func (m *Manager) ManageRoutesWithGuard(r *gin.RouterGroup, guards ...gin.HandlerFunc)

ManageRoutesWithGuard mounts public health routes and guarded management routes using host-application middleware.

func (*Manager) PublishEvent

func (m *Manager) PublishEvent(eventName string, data any, target ...types.EventTarget)

PublishEvent publishes event

func (*Manager) PublishEventWithRetry

func (m *Manager) PublishEventWithRetry(eventName string, data any, maxRetries int, target ...types.EventTarget)

PublishEventWithRetry publishes event with retry

func (*Manager) PublishMessage

func (m *Manager) PublishMessage(exchange, routingKey string, body []byte) error

PublishMessage publishes message to available queue system

func (*Manager) QueryHistoricalMetrics

func (m *Manager) QueryHistoricalMetrics(opts *metrics.QueryOptions) ([]*metrics.AggregatedMetrics, error)

QueryHistoricalMetrics queries historical metrics

func (*Manager) RefreshCrossServices

func (m *Manager) RefreshCrossServices()

RefreshCrossServices is deprecated, automatic refresh

func (*Manager) Register

func (m *Manager) Register(ext types.Interface) error

Register is deprecated, use RegisterExtension instead

func (*Manager) RegisterConsulService

func (m *Manager) RegisterConsulService(name string, info *types.ServiceInfo) error

RegisterConsulService registers a service

func (*Manager) RegisterCrossService

func (m *Manager) RegisterCrossService(key string, service any)

RegisterCrossService manually registers a cross service

func (*Manager) RegisterExtension

func (m *Manager) RegisterExtension(ext types.Interface) error

RegisterExtension registers an extension

func (*Manager) RegisterRoutes

func (m *Manager) RegisterRoutes(router *gin.Engine)

RegisterRoutes registers all extension routes

func (*Manager) ReloadPlugin

func (m *Manager) ReloadPlugin(name string) error

ReloadPlugin reloads a single plugin

func (*Manager) SubscribeEvent

func (m *Manager) SubscribeEvent(eventName string, handler func(any), source ...types.EventTarget)

SubscribeEvent subscribes to events

func (*Manager) SubscribeToMessages

func (m *Manager) SubscribeToMessages(queue string, handler func([]byte) error) error

SubscribeToMessages subscribes to messages from available queue system

func (*Manager) UnloadPlugin

func (m *Manager) UnloadPlugin(name string) error

UnloadPlugin unloads a single plugin

Jump to

Keyboard shortcuts

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