conf

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2025 License: BSD-3-Clause Imports: 11 Imported by: 0

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, cfg *T, onChange func(e fsnotify.Event)) error

func LoadDefault

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

LoadDefault ./config.yaml

Types

type App added in v0.1.1

type App struct {
	Basic   `mapstructure:",squash"`
	Service map[string]any `mapstructure:"service"` // 应用自己的其他配置
}

func LoadApp added in v0.1.1

func LoadApp(filepath string, onChange func(e fsnotify.Event)) (*App, error)

LoadApp 加载配置文件 优先级: (相同key)

1.主配置文件优先级最高
2.configs 数组索引越小优先级越高

type Basic

type Basic struct {
	Name    string       `mapstructure:"name" validate:"required"`    // 服务名称
	Version string       `mapstructure:"version" validate:"required"` // 服务版本
	Env     enum.EnvType `mapstructure:"env" validate:"required"`
	// 和主配置文件的在同一个目录可以只写文件名加后缀
	Configs []string `mapstructure:"configs"` // 其他配置文件的路径
	// 注册中心的地址
	Registry Transport `mapstructure:"registry"`
	Server   struct {
		Http Transport `mapstructure:"http"`
		Rpc  Transport `mapstructure:"rpc"` // rpc 端口号没有指定,就是http端口号+1000
	} `mapstructure:"server"`
	Security   security.Config      `mapstructure:"security"`
	Logger     logger.Config        `mapstructure:"logger"`
	DB         map[string]db.Config `mapstructure:"db"` // 支持多数据源 default key 必须存在
	LocalCache cache.LocalCacheConf `mapstructure:"localCache" yaml:"localCache"`
	Redis      cache.RedisConf      `mapstructure:"redis"`
}

Basic 服务必要的配置文件

type Transport

type Transport struct {
	Addr    string         `mapstructure:"addr"`    // 监听地址 0.0.0.0:80
	Timeout types.Duration `mapstructure:"timeout"` // 超时时间 1s
}

Jump to

Keyboard shortcuts

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