manager

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

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

Manager represents an extension / plugin manager

func NewManager

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

NewManager creates a new extension / plugin manager

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

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 with circuit breaker protection

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) GetEventBusMetrics

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

GetEventBusMetrics returns event bus metrics

func (*Manager) GetExtension

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

GetExtension returns a specific extension

func (*Manager) GetExtensions

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

GetExtensions returns the loaded extensions

func (*Manager) GetHandler

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

GetHandler returns a specific handler from an extension

func (*Manager) GetHandlers

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

GetHandlers returns all registered extension handlers

func (*Manager) GetHealthyServices

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

GetHealthyServices gets healthy services

func (*Manager) GetMetadata

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

GetMetadata returns the metadata of all registered extensions

func (*Manager) GetService

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

GetService returns a specific service from an extension

func (*Manager) GetServiceCacheStats

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

GetServiceCacheStats returns the service cache stats

func (*Manager) GetServices

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

GetServices returns all registered extension services

func (*Manager) GetStatus

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

GetStatus returns the status of all registered extensions

func (*Manager) InitExtensions

func (m *Manager) InitExtensions() error

InitExtensions initializes all registered extensions

func (*Manager) LoadPlugin

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

LoadPlugin loads a single plugin

func (*Manager) LoadPlugins

func (m *Manager) LoadPlugins() error

LoadPlugins loads all plugins based on the current configuration

func (*Manager) ManageRoutes

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

ManageRoutes manages routes for all extensions / plugins

func (*Manager) PublishEvent

func (m *Manager) PublishEvent(eventName string, data any)

PublishEvent publishes an event to all extensions

func (*Manager) PublishMessage

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

PublishMessage publishes a message using RabbitMQ or Kafka

func (*Manager) Register

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

Register registers an extension

func (*Manager) RegisterConsulService

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

RegisterConsulService registers a service with Consul

func (*Manager) RegisterRoutes

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

RegisterRoutes registers all extension routes with the provided router

func (*Manager) ReloadPlugin

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

ReloadPlugin reloads a single extension / plugin

func (*Manager) ReloadPlugins

func (m *Manager) ReloadPlugins() error

ReloadPlugins reloads all extensions / plugins

func (*Manager) SubscribeEvent

func (m *Manager) SubscribeEvent(eventName string, handler func(any))

SubscribeEvent allows a extension to subscribe to an event

func (*Manager) SubscribeToMessages

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

SubscribeToMessages subscribes to messages from RabbitMQ or Kafka

func (*Manager) UnloadPlugin

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

UnloadPlugin unloads a single extension

Jump to

Keyboard shortcuts

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