1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package config
- import (
- "github.com/pkg/errors"
- "go-micro.dev/v4/config"
- "go-micro.dev/v4/config/source/env"
- )
- type Config struct {
- Address string
- Tracing TracingConfig
- Registry RegistryConfig
- Redis RedisConfig
- AuthorizationService string
- }
- type TracingConfig struct {
- Enable bool
- Jaeger JaegerConfig
- }
- type JaegerConfig struct {
- URL string
- }
- type RegistryConfig struct {
- Enable bool
- Consul ConsulConfig
- }
- type ConsulConfig struct {
- URL string
- }
- type RedisConfig struct {
- Enable bool
- URL string
- }
- var cfg *Config = &Config{
- Address: ":8080",
- AuthorizationService: "authorizationservice",
- }
- func Get() Config {
- return *cfg
- }
- func Address() string {
- return cfg.Address
- }
- func Tracing() TracingConfig {
- return cfg.Tracing
- }
- func Registry() RegistryConfig {
- return cfg.Registry
- }
- func RedisAddress() RedisConfig {
- return cfg.Redis
- }
- func Load() error {
- configor, err := config.NewConfig(config.WithSource(env.NewSource()))
- if err != nil {
- return errors.Wrap(err, "configor.New")
- }
- if err = configor.Load(); err != nil {
- return errors.Wrap(err, "configor.Load")
- }
- if err = configor.Scan(cfg); err != nil {
- return errors.Wrap(err, "configor.Scan")
- }
- return nil
- }
|