config

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2025 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadConfig

func LoadConfig(filename string) (*viper.Viper, error)

Load config file from given path

Types

type AdditionalField

type AdditionalField struct {
	FieldName string `mapstructure:"field_name" validate:"required"`
	ValueFrom string `mapstructure:"value_from" validate:"required"`
}

type Client

type Client struct {
	BindAddr   string `mapstructure:"bind_addr" validate:"required"`
	ServerAddr string `mapstructure:"server_addr" validate:"required"`
	Name       string `mapstructure:"name" validate:"required"`
}

Client config

type Config

type Config struct {
	Server  Server  `mapstructure:"server" validate:"required"`
	Client  Client  `mapstructure:"client" validate:"required"`
	Logs    Logs    `mapstructure:"logs" validate:"required"`
	Metrics Metrics `mapstructure:"metrics" validate:"required"`
	Tracing Tracing `mapstructure:"tracing" validate:"required"`
}

Config struct

func ParseConfig

func ParseConfig(v *viper.Viper) (*Config, error)

Parse config file to Config struct

type LogProvider

type LogProvider string
const (
	ZapLog LogProvider = "zap"
)

type Logs

type Logs struct {
	Development      bool              `mapstructure:"development"`
	Level            string            `mapstructure:"level" validate:"required,oneof=debug info warn error dpanic panic fatal"`
	Path             string            `mapstructure:"path"`
	AdditionalFields []AdditionalField `mapstructure:"additional_fields" validate:"dive"`
	Provider         LogProvider       `mapstructure:"provider"`
}

Logger config

type Metrics

type Metrics struct {
	BindAddr string `mapstructure:"bind_addr" validate:"required"`
}

Metrics config

type OTLPTracing

type OTLPTracing struct {
	Enabled       bool   `mapstructure:"enabled"`
	CollectorAddr string `mapstructure:"collector_url" validate:"required"`
	Insecure      bool   `mapstructure:"insecure"`
}

Tracing config for OTLP

type Server

type Server struct {
	BindAddr string `mapstructure:"bind_addr" validate:"required"`
	Name     string `mapstructure:"name" validate:"required"`
}

Server config

type Tracing

type Tracing struct {
	OLTPTracing OTLPTracing `mapstructure:"otlp" validate:"required"`
}

Tracing config

Jump to

Keyboard shortcuts

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