setup

package
v0.0.30 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2026 License: GPL-3.0 Imports: 42 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
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")
)
View Source
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")
)
View Source
var (
	// ErrEmptyAppName is returned when an empty application name is provided to InitSetup.
	ErrEmptyAppName = errors.New("appName is empty")
)
View Source
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

func InitTelemetry(ctx context.Context, telemetryOpts ...telemetry.Option) error

InitTelemetry initializes telemetry configuration

func PersistentPostRunE added in v0.0.23

func PersistentPostRunE(waitTime time.Duration) func(cmd *cobra.Command, args []string) error

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

func (o *Options) GetDefaultCfgFileLocations(appName string) []string

GetDefaultCfgFileLocations returns default config file locations

func (*Options) GetDefaultCfgFileName added in v0.0.8

func (o *Options) GetDefaultCfgFileName() string

GetDefaultCfgFileName returns default config file name

func (*Options) GetDefaultValues added in v0.0.8

func (o *Options) GetDefaultValues() map[string]any

GetDefaultValues returns the default configuration values with required logging defaults.

func (*Options) GetEnvPrefix added in v0.0.13

func (o *Options) GetEnvPrefix() string

GetEnvPrefix returns the environment variable prefix, defaulting to "app" if not set.

type Prop added in v0.0.24

type Prop struct {
	Key   string
	Value any
}

Prop represents a configuration property with a key-value pair.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL