Documentation
¶
Index ¶
- Variables
- func Bootstrap(path string) (Config, *Store)
- func InitConfig(configPath string) (err error)
- type CORSConfig
- type CasbinConfig
- type Config
- type ConfigReloadCallback
- type ConsoleSinkConfig
- type ConsulClientConfig
- type ConsulSource
- type ElasticsearchSinkConfig
- type Environment
- type EnvironmentType
- type EtcdClientConfig
- type EtcdSource
- type FileSinkConfig
- type FileSource
- type HotReloader
- type JWTConfig
- type KafkaConfig
- type Level
- type LogConfig
- type LokiSinkConfig
- type Mongodb
- type MysqlConfig
- type RedisConfig
- type Source
- type Store
- type SystemConfig
- type WatchableSource
Constants ¶
This section is empty.
Variables ¶
View Source
var ( Mysql MysqlConfig System SystemConfig Log LogConfig Mgo Mongodb JWT JWTConfig )
Functions ¶
func Bootstrap ¶ added in v1.0.2
Bootstrap 仅以本地文件为入口初始化配置,随后按文件中的 etcd/consul 配置进行增量合并并挂载热更新。 返回最终 Config 以及可动态读取/更新的 Store。
func InitConfig ¶
Types ¶
type CORSConfig ¶ added in v1.0.2
type CasbinConfig ¶ added in v1.0.2
type Config ¶
type Config struct {
Mysql MysqlConfig `mapstructure:"mysql"`
System SystemConfig `mapstructure:"system"`
Log LogConfig `mapstructure:"log"`
Mongodb Mongodb `mapstructure:"mongodb"`
Redis RedisConfig `mapstructure:"redis"`
JWT JWTConfig `mapstructure:"jwt"`
CORS CORSConfig `mapstructure:"cors"`
Casbin CasbinConfig `mapstructure:"casbin"`
Kafka KafkaConfig `mapstructure:"kafka"`
Etcd EtcdClientConfig `mapstructure:"etcd"`
Consul ConsulClientConfig `mapstructure:"consul"`
}
func NewCfgFrom ¶ added in v1.0.2
NewCfgFrom 通过自定义 Source 加载 Config。
type ConfigReloadCallback ¶ added in v1.0.2
type ConfigReloadCallback func(*Config)
ConfigReloadCallback 配置重载回调函数类型
type ConsoleSinkConfig ¶ added in v1.0.2
type ConsulClientConfig ¶ added in v1.0.2
type ConsulSource ¶ added in v1.0.2
ConsulSource 从 Consul KV 读取配置,支持 json/yaml/toml 三种格式。
type ElasticsearchSinkConfig ¶ added in v1.0.2
type EnvironmentType ¶
type EnvironmentType int
const ( Dev EnvironmentType = iota Docker Test )
func RunEnvironment ¶
func RunEnvironment() EnvironmentType
type EtcdClientConfig ¶ added in v1.0.2
type EtcdSource ¶ added in v1.0.2
type EtcdSource struct {
Endpoints []string
Key string
Format string // json|yaml|toml(默认 toml)
Username string
Password string
DialTimeoutSeconds int
}
EtcdSource 从 etcd 读取配置,支持 json/yaml/toml 三种格式。 使用示例:
cfg := configs.NewCfgFrom(configs.EtcdSource{Endpoints: []string{"127.0.0.1:2379"}, Key: "/echo-admin/config", Format: "toml"})
type FileSinkConfig ¶ added in v1.0.2
type FileSource ¶ added in v1.0.2
type FileSource struct{ Path string }
FileSource 本地文件来源,支持 json/yaml/toml(通过文件后缀识别)。
type HotReloader ¶ added in v1.0.2
type HotReloader struct {
// contains filtered or unexported fields
}
HotReloader 配置热重载器
func NewHotReloader ¶ added in v1.0.2
func NewHotReloader(store *Store, configPath string) (*HotReloader, error)
NewHotReloader 创建配置热重载器
func (*HotReloader) AddCallback ¶ added in v1.0.2
func (hr *HotReloader) AddCallback(callback func(*Config))
AddCallback 添加配置变化回调
func (*HotReloader) Watch ¶ added in v1.0.2
func (hr *HotReloader) Watch(configPath string) error
Watch 开始监听配置文件变化
type KafkaConfig ¶ added in v1.0.2
type LogConfig ¶
type LogConfig struct {
Level string `mapstructure:"level"`
Format string `mapstructure:"format"`
Console ConsoleSinkConfig `mapstructure:"console"`
File FileSinkConfig `mapstructure:"file"`
Elasticsearch ElasticsearchSinkConfig `mapstructure:"elasticsearch"`
Loki LokiSinkConfig `mapstructure:"loki"`
}
type LokiSinkConfig ¶ added in v1.0.2
type MysqlConfig ¶
type MysqlConfig struct {
DockerHost string `mapstructure:"docker_host"`
Host string `mapstructure:"host"`
Port string `mapstructure:"port"`
User string `mapstructure:"user"`
Password string `mapstructure:"password"`
MaxOpenConns int `mapstructure:"max_open_conns"`
MaxIdleConns int `mapstructure:"max_idle_conns"`
Database string `mapstructure:"database"`
}
type RedisConfig ¶
type Source ¶ added in v1.0.2
Source 抽象:配置来源(本地文件、远程配置中心等)。 实现方直接返回完整的 Config,便于从任意介质填充(文件/etcd/http 等)。
type Store ¶ added in v1.0.2
type Store struct {
// contains filtered or unexported fields
}
Store 提供原子读取/更新配置的能力,用于热更新场景
func (*Store) RegisterConfigReloadCallback ¶ added in v1.0.2
func (s *Store) RegisterConfigReloadCallback(callback ConfigReloadCallback)
RegisterConfigReloadCallback 注册配置重载回调
type SystemConfig ¶
Click to show internal directories.
Click to hide internal directories.