Documentation
¶
Overview ¶
Package initialization provides centralized component initialization and lifecycle management for the observability plugin. It handles dependency injection, proper startup order, and graceful shutdown of all plugin components including Prometheus clients, security layers, caching systems, and external APIs.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Components ¶
type Components struct {
Client *prometheus.Client
CachedClient *prometheus.CachedClient
MetricsCollector *metrics.Collector
SecretsManager *security.SecretsManager
OverlayMgr *overlays.OverlayManager
SubscriptionMgr *subscription.SubscriptionManager
NotificationMgr *subscription.NotificationManager
Persistence *subscription.SubscriptionPersistence
HistoricalCollector *historical.HistoricalDataCollector
HistoricalAnalyzer *historical.HistoricalAnalyzer
EfficiencyAnalyzer *analysis.ResourceEfficiencyAnalyzer
ExternalAPI *endpoints.ExternalAPI
}
Components holds all initialized plugin components
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles plugin component initialization
func NewManager ¶
NewManager creates a new initialization manager
func NewManagerWithContext ¶
NewManagerWithContext creates a new initialization manager with context
func (*Manager) InitializeComponents ¶
func (m *Manager) InitializeComponents() (*Components, error)
InitializeComponents initializes all plugin components
Click to show internal directories.
Click to hide internal directories.