Documentation
¶
Index ¶
- Variables
- func InitSetup(ctx context.Context, appName string, opts ...OptionFunc) error
- func InitTelemetry(ctx context.Context, telemetryOpts ...telemetry.Option) error
- func PersistentPostRunE(waitTime time.Duration) func(cmd *cobra.Command, args []string) error
- func PersistentPreRunE(appName string, opts ...OptionFunc) func(cmd *cobra.Command, args []string) error
- type OptionFunc
- func WithConfigFileToBeUsed(file string) OptionFunc
- func WithDefaultCfgFileLocations(f ...string) OptionFunc
- func WithDefaultCfgFileName(f string) OptionFunc
- func WithDefaultValues(vals map[string]any) OptionFunc
- func WithEnvPrefix(prefix string) OptionFunc
- func WithOpenTelemetryOptions(opts ...telemetry.Option) OptionFunc
- func WithProps(props ...Prop) OptionFunc
- type Options
- type Prop
Constants ¶
This section is empty.
Variables ¶
var ( // ErrTracesInitialization is returned when trace provider initialization fails. ErrTracesInitialization = errors.New("initializing meter") // ErrTracesConnectionInitialization is returned when trace gRPC connection fails. ErrTracesConnectionInitialization = errors.New("initializing metrics connection") // ErrTracesExporterInitialization is returned when trace exporter setup fails. ErrTracesExporterInitialization = errors.New("initializing metric exporter") )
var ( // ErrMeterInitialization is returned when meter provider initialization fails. ErrMeterInitialization = errors.New("initializing meter") // ErrMetricsConnectionInitialization is returned when metrics gRPC connection fails. ErrMetricsConnectionInitialization = errors.New("initializing metrics connection") // ErrMetricsExporterInitialization is returned when metrics exporter setup fails. ErrMetricsExporterInitialization = errors.New("initializing metric exporter") )
var ( // ErrEmptyAppName is returned when an empty application name is provided to InitSetup. ErrEmptyAppName = errors.New("appName is empty") )
var ( // ErrInvalidLogOutputConfig is returned when neither stdout nor file output is configured for logging. ErrInvalidLogOutputConfig = errors.New("invalid log output configuration: should enable stdout or define an output file") )
Functions ¶
func InitSetup ¶
func InitSetup(ctx context.Context, appName string, opts ...OptionFunc) error
InitSetup sets up application default configurations for spf13/viper and slog libraries
func InitTelemetry ¶ added in v0.0.14
InitTelemetry initializes telemetry configuration
func PersistentPostRunE ¶ added in v0.0.23
PersistentPostRunE returns a Cobra PostRunE function that ends telemetry spans, logs command execution details, and waits for the specified duration before returning. The wait time allows telemetry data to be flushed to the backend before the process exits.
func PersistentPreRunE ¶ added in v0.0.22
func PersistentPreRunE(appName string, opts ...OptionFunc) func(cmd *cobra.Command, args []string) error
PersistentPreRunE returns a Cobra PreRunE function that initializes application setup and telemetry tracing for the command execution.
Types ¶
type OptionFunc ¶
type OptionFunc func(*Options)
OptionFunc customization option
func WithConfigFileToBeUsed ¶
func WithConfigFileToBeUsed(file string) OptionFunc
WithConfigFileToBeUsed defines the app configuration file to be used
func WithDefaultCfgFileLocations ¶
func WithDefaultCfgFileLocations(f ...string) OptionFunc
WithDefaultCfgFileLocations defines locations to search for config files
func WithDefaultCfgFileName ¶
func WithDefaultCfgFileName(f string) OptionFunc
WithDefaultCfgFileName defines default config file name
func WithDefaultValues ¶
func WithDefaultValues(vals map[string]any) OptionFunc
WithDefaultValues adds default values to Viper configuration
Default configuration keys:
- Logs configuration
- Log level:
- Log format: `log.format` (accepts `text` or `json`)
- Log level: `log.level` (accepts `info`, `debug`, `warn` or `error`)
- Log output file: `log.output_to_file` (output file path as a string)
- Log to stdout: `log.output_to_stdout` (accepts `true` or `false`)
func WithEnvPrefix ¶ added in v0.0.13
func WithEnvPrefix(prefix string) OptionFunc
WithEnvPrefix defines the environment variable prefix to be used
func WithOpenTelemetryOptions ¶ added in v0.0.11
func WithOpenTelemetryOptions(opts ...telemetry.Option) OptionFunc
WithOpenTelemetryOptions sets OpenTelemetry options
func WithProps ¶ added in v0.0.24
func WithProps(props ...Prop) OptionFunc
WithProps adds properties definition to Viper configuration
Default configuration keys:
- Logs configuration
- Log level:
- Log format: `log.format` (accepts `text` or `json`)
- Log level: `log.level` (accepts `info`, `debug`, `warn` or `error`)
- Log output file: `log.output_to_file` (output file path as a string)
- Log to stdout: `log.output_to_stdout` (accepts `true` or `false`)
type Options ¶ added in v0.0.8
type Options struct {
DefaultValues map[string]any
CfgFilePathToBeUsed string
DefaultCfgFileName string
EnvPrefix string
OpenTelemetryOptions []telemetry.Option
DefaultCfgFileLocations []string
}
Options holds configuration options for application setup including default values, config file locations, environment prefix, and telemetry settings.
func (*Options) GetDefaultCfgFileLocations ¶ added in v0.0.8
GetDefaultCfgFileLocations returns default config file locations
func (*Options) GetDefaultCfgFileName ¶ added in v0.0.8
GetDefaultCfgFileName returns default config file name
func (*Options) GetDefaultValues ¶ added in v0.0.8
GetDefaultValues returns the default configuration values with required logging defaults.
func (*Options) GetEnvPrefix ¶ added in v0.0.13
GetEnvPrefix returns the environment variable prefix, defaulting to "app" if not set.