Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConfigProvider ¶
type ConfigProvider interface {
GetGRPCConfig() HTTPServerConfig
GetHTTPConfig() HTTPServerConfig
GetHealthConfig() HealthServerConfig
GetGRPCServices() []GRPCService
}
type GRPCServerConfig ¶
type GRPCService ¶
type GRPCService struct {
Name string
Address string
Register RegisterFunc
}
type HTTPServerConfig ¶
type HealthServerConfig ¶
type RegisterFunc ¶
type ServerConfig ¶
type ServerConfig struct {
AppEnv string `env:"APP_ENV" envDefault:"dev"`
GRPC struct {
Host string `env:"GRPC_HOST" envDefault:"0.0.0.0"`
Port string `env:"-"`
ReadTimeout time.Duration `env:"GRPC_READ_TIMEOUT" envDefault:"10s"`
WriteTimeout time.Duration `env:"GRPC_WRITE_TIMEOUT" envDefault:"10s"`
IdleTimeout time.Duration `env:"GRPC_IDLE_TIMEOUT" envDefault:"60s"`
ReadHeaderTimeout time.Duration `env:"GRPC_READ_HEADER_TIMEOUT" envDefault:"5s"`
} `envPrefix:"GRPC_"`
HTTP struct {
Host string `env:"HTTP_HOST" envDefault:"0.0.0.0"`
Port string `env:"-"`
ReadTimeout time.Duration `env:"HTTP_READ_TIMEOUT" envDefault:"10s"`
WriteTimeout time.Duration `env:"HTTP_WRITE_TIMEOUT" envDefault:"10s"`
IdleTimeout time.Duration `env:"HTTP_IDLE_TIMEOUT" envDefault:"60s"`
ReadHeaderTimeout time.Duration `env:"HTTP_READ_HEADER_TIMEOUT" envDefault:"5s"`
} `envPrefix:"HTTP_"`
Health struct {
Host string `env:"HEALTH_HOST" envDefault:"0.0.0.0"`
Port string `env:"-"`
} `envPrefix:"HEALTH_"`
GRPCServices []GRPCService `env:"-"`
}
func LoadConfig ¶
func LoadConfig() (*ServerConfig, error)
Click to show internal directories.
Click to hide internal directories.