Versions in this module Expand all Collapse all v0 v0.2.0 Dec 1, 2025 v0.1.0 Feb 25, 2026 Changes in this version + func NewHealthLogger(logging *LoggingManager) *healthLoggerAdapter + type App struct + func New(options ...AppOption) (*App, error) + func (a *App) Config() *config.BaseConfig + func (a *App) HealthRegistry() *forgeHealth.Registry + func (a *App) IsRunning() bool + func (a *App) IsStopping() bool + func (a *App) Logger() *LoggingManager + func (a *App) Run(ctx context.Context) error + func (a *App) Start(ctx context.Context) error + func (a *App) Stop(ctx context.Context) error + func (a *App) Uptime() time.Duration + type AppOption func(*App) error + func WithBundle(bundle Bundle) AppOption + func WithComponent(component Component) AppOption + func WithConfig(config *config.BaseConfig) AppOption + func WithGRPCRegistrar(registrar Registrar) AppOption + func WithHealthContributor(contributor HealthContributor) AppOption + func WithShutdownHook(hook ShutdownHook) AppOption + func WithStartupHook(hook StartupHook) AppOption + func WithStreamInterceptor(interceptor grpc.StreamServerInterceptor) AppOption + func WithUnaryInterceptor(interceptor grpc.UnaryServerInterceptor) AppOption + func WithVersion(version string) AppOption + type Bundle interface + Initialize func(app *App) error + Name func() string + Stop func(ctx context.Context) error + type Component interface + Start func(ctx context.Context) error + Stop func(ctx context.Context) error + type HTTPRegistrar interface + RegisterHTTPRoutes func(mux *http.ServeMux) + type HTTPServerBuilder struct + func NewHTTPServerBuilder(app *App, config HTTPServerConfig) *HTTPServerBuilder + func (b *HTTPServerBuilder) Build() *http.Server + func (b *HTTPServerBuilder) RegisterCustomRoutes(registerFunc func(*http.ServeMux)) + type HTTPServerConfig struct + CORSCredentials bool + CORSHeaders []string + CORSMethods []string + CORSOrigins []string + EnableCORS bool + EnableMetrics bool + EnableRequestLogging bool + HealthPathPrefix string + LogRequestBody bool + LogResponseBody bool + MetricsPath string + func DefaultHTTPServerConfig() HTTPServerConfig + func (c *HTTPServerConfig) Validate() error + type HealthContributor interface + HealthChecks func() []forgeHealth.Check + type LoggingManager struct + func NewLoggingManager(config *config.BaseConfig) *LoggingManager + func (lm *LoggingManager) Initialize() error + func (lm *LoggingManager) Logger() *zerolog.Logger + func (lm *LoggingManager) WithContext(fields map[string]interface{}) zerolog.Logger + func (lm *LoggingManager) WithService(service, component string) zerolog.Logger + type ObservabilityConfig struct + Environment string + OTELEndpoint string + SampleRate float64 + ServiceName string + ServiceVersion string + func NewObservabilityConfig(baseConfig *config.BaseConfig, version string) *ObservabilityConfig + type ObservabilityManager struct + func NewObservabilityManager(config *ObservabilityConfig) *ObservabilityManager + func (om *ObservabilityManager) GetMeter(name string) otelmetric.Meter + func (om *ObservabilityManager) GetTracer(name string) oteltrace.Tracer + func (om *ObservabilityManager) Initialize(ctx context.Context) error + func (om *ObservabilityManager) Shutdown(ctx context.Context) error + type OrchestrationHook struct + Func ShutdownHookFunc + Name string + func ComponentShutdownHook(name string, component Component) OrchestrationHook + type Registrar interface + RegisterGRPC func(server *grpc.Server) error + type ShutdownHook func(ctx context.Context, app *App) error + type ShutdownHookFunc func(ctx context.Context) error + type ShutdownOrchestrator struct + func NewShutdownOrchestrator(timeout time.Duration) *ShutdownOrchestrator + func (so *ShutdownOrchestrator) RegisterHook(name string, hookFunc ShutdownHookFunc) + func (so *ShutdownOrchestrator) RegisterHookWithTimeout(name string, timeout time.Duration, hookFunc ShutdownHookFunc) + func (so *ShutdownOrchestrator) Shutdown(ctx context.Context) error + type StartupHook func(ctx context.Context, app *App) error