Documentation
¶
Overview ¶
Package admin provides an EnginePlugin that serves the admin dashboard UI and loads admin config routes. It encapsulates admin concerns — static file serving, config merging, and service delegate wiring — as a self-contained plugin rather than hard-wired logic in cmd/server/main.go.
Index ¶
- type Plugin
- func (p *Plugin) Capabilities() []capability.Contract
- func (p *Plugin) ModuleFactories() map[string]plugin.ModuleFactory
- func (p *Plugin) ModuleSchemas() []*schema.ModuleSchema
- func (p *Plugin) WiringHooks() []plugin.WiringHook
- func (p *Plugin) WithLogger(logger *slog.Logger) *Plugin
- func (p *Plugin) WithUIDir(dir string) *Plugin
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin struct {
plugin.BaseEnginePlugin
// UIDir overrides the static file root for the admin dashboard.
// Empty string means use the default from admin/config.yaml.
UIDir string
// Logger for wiring hook diagnostics.
Logger *slog.Logger
}
Plugin provides admin-specific module types and wiring hooks:
- admin.dashboard — serves the admin UI static files via a static.fileserver
- admin.config_loader — loads admin/config.yaml and merges routes into the engine
func (*Plugin) Capabilities ¶
func (p *Plugin) Capabilities() []capability.Contract
Capabilities returns the capability contracts this plugin defines.
func (*Plugin) ModuleFactories ¶
func (p *Plugin) ModuleFactories() map[string]plugin.ModuleFactory
ModuleFactories returns factories for admin module types.
func (*Plugin) ModuleSchemas ¶
func (p *Plugin) ModuleSchemas() []*schema.ModuleSchema
ModuleSchemas returns UI schema definitions for admin module types.
func (*Plugin) WiringHooks ¶
func (p *Plugin) WiringHooks() []plugin.WiringHook
WiringHooks returns post-init wiring functions that merge admin config into the running engine.
func (*Plugin) WithLogger ¶
WithLogger sets the logger for wiring hook diagnostics.