conf

package
v0.0.0-...-6819526 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: BSD-3-Clause Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BindPFlags

func BindPFlags()

func Load

func Load[T any](filepath string, onChange func(e fsnotify.Event)) (*T, error)

func LoadDefault

func LoadDefault[T any](onChange func(e fsnotify.Event)) (*T, error)

LoadDefault ./config.yaml

Types

type BasicConfig

type BasicConfig struct {
	Name       string  `mapstructure:"name" validate:"required"`    // 服务名
	Version    string  `mapstructure:"version" validate:"required"` // 版本号
	Env        EnvType `mapstructure:"env" validate:"required"`
	TimeFormat string  `mapstructure:"timeFormat"`
	Server     struct {
		Http Transport `mapstructure:"http"`
		Rpc  Transport `mapstructure:"rpc"`
	}
	Security config.Config   `mapstructure:"security"`
	Logger   logger.Config   `mapstructure:"logger"`
	Registry Transport       `mapstructure:"registry"`
	DB       db.Config       `mapstructure:"db"`
	Redis    cache.RedisConf `mapstructure:"redis"`
}
var Conf *BasicConfig

type EnvType

type EnvType string
const (
	EnvDev  EnvType = "dev"
	EnvTest EnvType = "test"
	EnvProd EnvType = "prod"
)

type ServiceConfig

type ServiceConfig[T any] struct {
	BasicConfig `mapstructure:",squash"`
	Service     T `mapstructure:"service"`
}

type Transport

type Transport struct {
	Addr    string `mapstructure:"addr"`    // 0.0.0.0:8000
	Timeout string `mapstructure:"timeout"` // 1s
}

Transport 传输协议

Jump to

Keyboard shortcuts

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