Documentation ¶
Index ¶
- Constants
- type App
- func (a *App) AdditionalConfigs() map[string]*configuration.Configuration
- func (a *App) AdditionalFlagSets() map[string]*flag.FlagSet
- func (a *App) Config() *configuration.Configuration
- func (a *App) Daemon() daemon.Daemon
- func (a *App) FlagSet() *flag.FlagSet
- func (a *App) ForEachComponent(f ComponentForEachFunc)
- func (a *App) Info() *Info
- func (a *App) IsComponentEnabled(identifier string) bool
- func (a *App) LogDebug(args ...interface{})
- func (a *App) LogDebugf(template string, args ...interface{})
- func (a *App) LogError(args ...interface{})
- func (a *App) LogErrorAndExit(args ...interface{})
- func (a *App) LogErrorf(template string, args ...interface{})
- func (a *App) LogErrorfAndExit(template string, args ...interface{})
- func (a *App) LogFatalAndExit(args ...interface{})
- func (a *App) LogFatalfAndExit(template string, args ...interface{})
- func (a *App) LogInfo(args ...interface{})
- func (a *App) LogInfof(template string, args ...interface{})
- func (a *App) LogPanic(args ...interface{})
- func (a *App) LogPanicf(template string, args ...interface{})
- func (a *App) LogWarn(args ...interface{})
- func (a *App) LogWarnf(template string, args ...interface{})
- func (a *App) NewLogger(name string) *logger.Logger
- func (a *App) Parameters() *ParametersApp
- func (a *App) Run()
- func (a *App) Shutdown()
- func (a *App) Start()
- type Callback
- type Component
- func (c *Component) App() *App
- func (c *Component) Daemon() daemon.Daemon
- func (c *Component) Identifier() string
- func (c *Component) LogDebug(args ...interface{})
- func (c *Component) LogDebugf(template string, args ...interface{})
- func (c *Component) LogError(args ...interface{})
- func (c *Component) LogErrorAndExit(args ...interface{})
- func (c *Component) LogErrorf(template string, args ...interface{})
- func (c *Component) LogErrorfAndExit(template string, args ...interface{})
- func (c *Component) LogFatalAndExit(args ...interface{})
- func (c *Component) LogFatalfAndExit(template string, args ...interface{})
- func (c *Component) LogInfo(args ...interface{})
- func (c *Component) LogInfof(template string, args ...interface{})
- func (c *Component) LogPanic(args ...interface{})
- func (c *Component) LogPanicf(template string, args ...interface{})
- func (c *Component) LogWarn(args ...interface{})
- func (c *Component) LogWarnf(template string, args ...interface{})
- func (c *Component) Logger() *logger.Logger
- type ComponentForEachFunc
- type ComponentParams
- type ConfigurationSet
- type ConfigurationSets
- type Info
- type InitComponent
- type InitConfigParamsFunc
- type InitFunc
- type IsEnabledFunc
- type Option
- type Options
- type ParametersApp
- type ProvideFunc
Constants ¶
const (
DefaultFlagSetName = "appConfig"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct {
// contains filtered or unexported fields
}
func (*App) AdditionalConfigs ¶
func (a *App) AdditionalConfigs() map[string]*configuration.Configuration
func (*App) Config ¶
func (a *App) Config() *configuration.Configuration
func (*App) ForEachComponent ¶
func (a *App) ForEachComponent(f ComponentForEachFunc)
ForEachComponent calls the given ComponentForEachFunc on each loaded component.
func (*App) IsComponentEnabled ¶
IsComponentEnabled returns whether the component is enabled.
func (*App) LogDebug ¶
func (a *App) LogDebug(args ...interface{})
LogDebug uses fmt.Sprint to construct and log a message.
func (*App) LogError ¶
func (a *App) LogError(args ...interface{})
LogError uses fmt.Sprint to construct and log a message.
func (*App) LogErrorAndExit ¶
func (a *App) LogErrorAndExit(args ...interface{})
LogErrorAndExit uses fmt.Sprint to construct and log a message, then calls os.Exit.
func (*App) LogErrorfAndExit ¶
LogErrorfAndExit uses fmt.Sprintf to log a templated message, then calls os.Exit.
func (*App) LogFatalAndExit ¶
func (a *App) LogFatalAndExit(args ...interface{})
LogFatalAndExit uses fmt.Sprint to construct and log a message, then calls os.Exit.
func (*App) LogFatalfAndExit ¶
LogFatalfAndExit uses fmt.Sprintf to log a templated message, then calls os.Exit.
func (*App) LogInfo ¶
func (a *App) LogInfo(args ...interface{})
LogInfo uses fmt.Sprint to construct and log a message.
func (*App) LogPanic ¶
func (a *App) LogPanic(args ...interface{})
LogPanic uses fmt.Sprint to construct and log a message, then panics.
func (*App) LogWarn ¶
func (a *App) LogWarn(args ...interface{})
LogWarn uses fmt.Sprint to construct and log a message.
func (*App) Parameters ¶
func (a *App) Parameters() *ParametersApp
type Component ¶
type Component struct { // The name of the component. Name string // The config parameters for this component. Params *ComponentParams // The function to call to initialize the component dependencies. DepsFunc interface{} // InitConfigParams gets called in the init stage of app initialization. // This can be used to provide config parameters even if the component is disabled. InitConfigParams InitConfigParamsFunc // IsEnabled gets called to check whether the component is enabled. IsEnabled IsEnabledFunc // Provide gets called in the provide stage of app initialization (enabled components only). Provide ProvideFunc // Configure gets called in the configure stage of app initialization (enabled components only). Configure Callback // Run gets called in the run stage of app initialization (enabled components only). Run Callback // WorkerPool gets configured and started automatically for each component (enabled components only). WorkerPool *workerpool.WorkerPool // contains filtered or unexported fields }
Component is something which extends the App's capabilities.
func (*Component) Identifier ¶
func (*Component) LogDebug ¶
func (c *Component) LogDebug(args ...interface{})
LogDebug uses fmt.Sprint to construct and log a message.
func (*Component) LogError ¶
func (c *Component) LogError(args ...interface{})
LogError uses fmt.Sprint to construct and log a message.
func (*Component) LogErrorAndExit ¶
func (c *Component) LogErrorAndExit(args ...interface{})
LogErrorAndExit uses fmt.Sprint to construct and log a message, then calls os.Exit.
func (*Component) LogErrorfAndExit ¶
LogErrorfAndExit uses fmt.Sprintf to log a templated message, then calls os.Exit.
func (*Component) LogFatalAndExit ¶
func (c *Component) LogFatalAndExit(args ...interface{})
LogFatalAndExit uses fmt.Sprint to construct and log a message, then calls os.Exit.
func (*Component) LogFatalfAndExit ¶
LogFatalfAndExit uses fmt.Sprintf to log a templated message, then calls os.Exit.
func (*Component) LogInfo ¶
func (c *Component) LogInfo(args ...interface{})
LogInfo uses fmt.Sprint to construct and log a message.
func (*Component) LogPanic ¶
func (c *Component) LogPanic(args ...interface{})
LogPanic uses fmt.Sprint to construct and log a message, then panics.
func (*Component) LogWarn ¶
func (c *Component) LogWarn(args ...interface{})
LogWarn uses fmt.Sprint to construct and log a message.
type ComponentForEachFunc ¶
ComponentForEachFunc is used in ForEachComponent. Returning false indicates to stop looping.
type ComponentParams ¶
type ComponentParams struct { // Handler to add configuration parameters to the default config. Params map[string]any // Handler to add configuration parameters to the additional configs. AdditionalParams map[string]map[string]any // The configuration values to mask. Masked []string }
ComponentParams defines the parameters configuration of a component.
type ConfigurationSet ¶
type ConfigurationSet struct {
// contains filtered or unexported fields
}
type ConfigurationSets ¶
type ConfigurationSets []*ConfigurationSet
func (ConfigurationSets) ConfigsMap ¶
func (c ConfigurationSets) ConfigsMap() map[string]*configuration.Configuration
func (ConfigurationSets) FlagSets ¶
func (c ConfigurationSets) FlagSets() []*flag.FlagSet
func (ConfigurationSets) FlagSetsMap ¶
func (c ConfigurationSets) FlagSetsMap() map[string]*flag.FlagSet
type InitComponent ¶
type InitComponent struct { *Component NonHiddenFlags []string // Init gets called in the initialization stage of the app. Init InitFunc // The additional configs this InitComponent brings to the app. AdditionalConfigs []*ConfigurationSet }
InitComponent is the module initializing configuration of the app. An App can only have one of such modules.
type InitConfigParamsFunc ¶
InitConfigParamsFunc gets called with a dig.Container.
type IsEnabledFunc ¶
IsEnabledFunc gets called to check whether the Compoment is enabled. It gets called with a dig.Container and returns true if the Compoment is enabled.
type Option ¶
type Option func(opts *Options)
Option is a function setting a Options option.
func WithComponents ¶
WithComponents sets the components.
func WithInitComponent ¶
func WithInitComponent(initComponent *InitComponent) Option
WithInitComponent sets the init component.
func WithUsageText ¶
WithUsageText overwrites the default usage text of the app.
func WithVersionCheck ¶
WithVersionCheck enables the GitHub version check.
type Options ¶
type Options struct {
// contains filtered or unexported fields
}
Options defines options for an App.
type ParametersApp ¶
type ParametersApp struct {
CheckForUpdates bool `default:"true" usage:"whether to check for updates of the application or not"`
}
type ProvideFunc ¶
ProvideFunc gets called with a dig.Container.