Documentation
¶
Overview ¶
Package cmdopts provides functionality to parse command line options and ENV variables.
Index ¶
- Constants
- type ConfigCommand
- type ConfigInitCommand
- type ConfigUpgradeCommand
- type Kind
- type MetricCommand
- type MetricListCommand
- type MetricPrintInitCommand
- type MetricPrintSQLCommand
- type Options
- func (c *Options) CompleteCommand(code int32)
- func (c *Options) GetConfigKind(arg string) (_ Kind, err error)
- func (c *Options) InitConfigReaders(ctx context.Context) error
- func (c *Options) InitMetricReader(ctx context.Context) (err error)
- func (c *Options) InitSinkWriter(ctx context.Context) (err error)
- func (c *Options) InitSourceReader(ctx context.Context) (err error)
- func (c *Options) IsPgConnStr(arg string) bool
- func (c *Options) NeedsSchemaUpgrade() (upgrade bool, err error)
- func (c *Options) ValidateConfig() error
- func (c *Options) Verbose() bool
- type SourceCommand
- type SourcePingCommand
- type SourceResolveCommand
Constants ¶
const ( ExitCodeOK int32 = iota ExitCodeConfigError ExitCodeCmdError ExitCodeWebUIError ExitCodeUpgradeError ExitCodeUserCancel ExitCodeShutdownCommand ExitCodeFatalError )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConfigCommand ¶
type ConfigCommand struct {
Init ConfigInitCommand `command:"init" description:"Initialize configuration"`
Upgrade ConfigUpgradeCommand `command:"upgrade" description:"Upgrade configuration schema"`
// contains filtered or unexported fields
}
func NewConfigCommand ¶
func NewConfigCommand(owner *Options) *ConfigCommand
type ConfigInitCommand ¶
type ConfigInitCommand struct {
// contains filtered or unexported fields
}
func (*ConfigInitCommand) Execute ¶
func (cmd *ConfigInitCommand) Execute([]string) (err error)
Execute initializes the configuration.
func (*ConfigInitCommand) InitMetrics ¶
func (cmd *ConfigInitCommand) InitMetrics() (err error)
InitMetrics initializes the metrics configuration.
func (*ConfigInitCommand) InitSinks ¶
func (cmd *ConfigInitCommand) InitSinks() (err error)
InitSinks initializes the sinks configuration.
func (*ConfigInitCommand) InitSources ¶
func (cmd *ConfigInitCommand) InitSources() (err error)
InitSources initializes the sources configuration.
type ConfigUpgradeCommand ¶
type ConfigUpgradeCommand struct {
// contains filtered or unexported fields
}
func (*ConfigUpgradeCommand) Execute ¶
func (cmd *ConfigUpgradeCommand) Execute([]string) (err error)
Execute upgrades the configuration schema.
type MetricCommand ¶
type MetricCommand struct {
PrintInit MetricPrintInitCommand `command:"print-init" description:"Get and print init SQL for a given metric or preset"`
PrintSQL MetricPrintSQLCommand `command:"print-sql" description:"Get and print SQL for a given metric"`
List MetricListCommand `command:"list" description:"List available metrics and presets"`
// contains filtered or unexported fields
}
func NewMetricCommand ¶
func NewMetricCommand(owner *Options) *MetricCommand
type MetricListCommand ¶
type MetricListCommand struct {
// contains filtered or unexported fields
}
func (*MetricListCommand) Execute ¶
func (cmd *MetricListCommand) Execute(args []string) error
type MetricPrintInitCommand ¶
type MetricPrintInitCommand struct {
// contains filtered or unexported fields
}
func (*MetricPrintInitCommand) Execute ¶
func (cmd *MetricPrintInitCommand) Execute(args []string) error
type MetricPrintSQLCommand ¶
type MetricPrintSQLCommand struct {
Version int `short:"v" long:"version" description:"PostgreSQL version to get SQL for"`
// contains filtered or unexported fields
}
func (*MetricPrintSQLCommand) Execute ¶
func (cmd *MetricPrintSQLCommand) Execute(args []string) error
type Options ¶
type Options struct {
Sources sources.CmdOpts `group:"Sources"`
Metrics metrics.CmdOpts `group:"Metrics"`
Sinks sinks.CmdOpts `group:"Sinks"`
Logging log.CmdOpts `group:"Logging"`
WebUI webserver.CmdOpts `group:"WebUI"`
Help bool
SourcesReaderWriter sources.ReaderWriter
MetricsReaderWriter metrics.ReaderWriter
SinksWriter sinks.Writer
ExitCode int32
CommandCompleted bool
OutputWriter io.Writer
}
Options contains the command line options.
func New ¶
New returns a new instance of Options and immediately executes the subcommand if specified. Subcommands are responsible for setting exit code. Function prints help message only if options are incorrect. If subcommand is executed but fails, function outputs the error message only, indicating that some argument values might be incorrect, e.g. wrong file name, lack of privileges, etc.
func (*Options) CompleteCommand ¶
func (*Options) InitConfigReaders ¶
InitConfigReaders creates the configuration readers based on the configuration kind from the options.
func (*Options) InitMetricReader ¶
InitMetricReader creates a new source reader based on the configuration kind from the options.
func (*Options) InitSinkWriter ¶
InitSinkWriter creates a new MultiWriter instance if needed.
func (*Options) InitSourceReader ¶
InitSourceReader creates a new source reader based on the configuration kind from the options.
func (*Options) IsPgConnStr ¶
func (*Options) NeedsSchemaUpgrade ¶
NeedsSchemaUpgrade checks if the configuration database schema needs an upgrade.
func (*Options) ValidateConfig ¶
ValidateConfig checks if the configuration is valid. Configuration database can be specified for one of the --sources or --metrics. If one is specified, the other one is set to the same value.
type SourceCommand ¶
type SourceCommand struct {
Ping SourcePingCommand `command:"ping" description:"Try to connect to configured sources, report errors if any and then exit"`
Resolve SourceResolveCommand `` /* 144-byte string literal not displayed */
// contains filtered or unexported fields
}
func NewSourceCommand ¶
func NewSourceCommand(owner *Options) *SourceCommand
type SourcePingCommand ¶
type SourcePingCommand struct {
// contains filtered or unexported fields
}
func (*SourcePingCommand) Execute ¶
func (cmd *SourcePingCommand) Execute(args []string) error
type SourceResolveCommand ¶
type SourceResolveCommand struct {
// contains filtered or unexported fields
}
func (*SourceResolveCommand) Execute ¶
func (cmd *SourceResolveCommand) Execute(args []string) error