Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppConfig ¶ added in v0.0.3
type AppConfig struct {
AppEnv AppEnv `env:"APP_ENV" envDefault:"dev"`
LogLevel logger.LogLevel `env:"APP_LOG_LEVEL" envDefault:"INFO"`
ServiceHealthTimeout time.Duration `env:"SERVICE_HEALTH_TIMEOUT" envDefault:"60s"`
GRPC struct {
Host string `env:"HOST" envDefault:"0.0.0.0"`
Port string `env:"PORT" envDefault:"8080"`
} `envPrefix:"GRPC_"`
HTTP struct {
Host string `env:"HOST" envDefault:"0.0.0.0"`
Port string `env:"PORT" envDefault:"8080"`
ReadTimeout time.Duration `env:"READ_TIMEOUT" envDefault:"10s"`
WriteTimeout time.Duration `env:"WRITE_TIMEOUT" envDefault:"10s"`
IdleTimeout time.Duration `env:"IDLE_TIMEOUT" envDefault:"60s"`
ReadHeaderTimeout time.Duration `env:"READ_HEADER_TIMEOUT" envDefault:"5s"`
} `envPrefix:"HTTP_"`
Health struct {
Host string `env:"HOST" envDefault:"0.0.0.0"`
Port string `env:"PORT" envDefault:"80"`
} `envPrefix:"HEALTH_"`
Mongo struct {
URI string `env:"URI,notEmpty"`
DatabaseName string `env:"DATABASE_NAME,notEmpty"`
OperationTimeout time.Duration `env:"OPERATION_TIMEOUT" envDefault:"10s"`
} `envPrefix:"MONGO_"`
GRPCServices []*GRPCService `env:"-"`
}
func LoadConfig ¶
type AppEnv ¶ added in v0.0.6
type AppEnv string
"dev" | "prod"
func (*AppEnv) UnmarshalText ¶ added in v0.0.6
type ConfigProvider ¶
type ConfigProvider interface {
GetGRPCConfig() *HTTPServerConfig
GetHTTPConfig() *HTTPServerConfig
GetHealthConfig() *HealthServerConfig
GetMongoConfig() *MongoConfig
GetGRPCServices() []*GRPCService
}
type GRPCServerConfig ¶
type GRPCService ¶
type GRPCService struct {
Name string
Address string
Register RegisterFunc
}
type HTTPServerConfig ¶
type HealthServerConfig ¶
type MongoConfig ¶ added in v0.0.7
type RegisterFunc ¶
Click to show internal directories.
Click to hide internal directories.