Documentation
¶
Overview ¶
Package app wires the HTTP server, module registration, and lifecycle management.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct {
// contains filtered or unexported fields
}
App owns the HTTP server, registered modules, and bootstrapped dependencies.
type Dependencies ¶
type Dependencies struct {
// Postgres is the optional pgx pool initialized from config.
Postgres *pgxpool.Pool
// Redis is the optional Redis client used by auth/cache/ratelimit.
Redis *redis.Client
// Readiness aggregates health checks for readiness responses.
Readiness *readiness.Service
// Metrics is the Prometheus instrumentation service.
Metrics *metrics.Service
// Tracing is the OpenTelemetry lifecycle service.
Tracing *tracing.Service
// AuthEngine is the optional goAuth engine.
AuthEngine *goauth.Engine
// AuthMode is the normalized auth mode used by auth policies.
AuthMode auth.Mode
// RateLimit is the resolved rate-limit config snapshot.
RateLimit config.RateLimitConfig
// Cache is the resolved cache config snapshot.
Cache config.CacheConfig
// Limiter is the optional route rate limiter.
Limiter ratelimit.Limiter
// CacheMgr is the optional response cache manager.
CacheMgr *cache.Manager
// contains filtered or unexported fields
}
Dependencies stores initialized process-level services shared with modules.
type DependencyBinder ¶
type DependencyBinder interface {
BindDependencies(*Dependencies)
}
DependencyBinder allows modules to receive initialized Dependencies.
Click to show internal directories.
Click to hide internal directories.