Documentation
¶
Index ¶
- type AppConfig
- func (p *AppConfig) GetConfig() *AppConfig
- func (p *AppConfig) GetGRPCConfig() *GRPCServerConfig
- func (p *AppConfig) GetGRPCServices() []*GRPCService
- func (p *AppConfig) GetHTTPConfig() *HTTPServerConfig
- func (p *AppConfig) GetHealthConfig() *HealthServerConfig
- func (p *AppConfig) GetMongoConfig() *MongoConfig
- type AppConfigProvider
- type AppEnv
- type GRPCServerConfig
- type GRPCService
- type HTTPServerConfig
- type HealthServerConfig
- type MongoConfig
- type RegisterFunc
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 GRPCServerConfig `envPrefix:"GRPC_"`
HTTP HTTPServerConfig `envPrefix:"HTTP_"`
Health HealthServerConfig `envPrefix:"HEALTH_"`
Mongo MongoConfig `envPrefix:"MONGO_"`
GRPCServices []*GRPCService `env:"-"`
}
func LoadConfig ¶
func (*AppConfig) GetGRPCConfig ¶ added in v0.0.9
func (p *AppConfig) GetGRPCConfig() *GRPCServerConfig
func (*AppConfig) GetGRPCServices ¶ added in v0.0.9
func (p *AppConfig) GetGRPCServices() []*GRPCService
func (*AppConfig) GetHTTPConfig ¶ added in v0.0.9
func (p *AppConfig) GetHTTPConfig() *HTTPServerConfig
func (*AppConfig) GetHealthConfig ¶ added in v0.0.9
func (p *AppConfig) GetHealthConfig() *HealthServerConfig
func (*AppConfig) GetMongoConfig ¶ added in v0.0.9
func (p *AppConfig) GetMongoConfig() *MongoConfig
type AppConfigProvider ¶ added in v0.0.11
type AppConfigProvider interface {
GetConfig() *AppConfig
GetGRPCConfig() *GRPCServerConfig
GetHTTPConfig() *HTTPServerConfig
GetHealthConfig() *HealthServerConfig
GetMongoConfig() *MongoConfig
GetGRPCServices() []*GRPCService
}
func Config ¶ added in v0.1.0
func Config() (AppConfigProvider, error)
type AppEnv ¶ added in v0.0.6
type AppEnv string
"dev" | "prod"
func (*AppEnv) UnmarshalText ¶ added in v0.0.6
type GRPCServerConfig ¶
type GRPCService ¶
type GRPCService struct {
Name string
Address string
Register RegisterFunc
}
type HTTPServerConfig ¶
type HTTPServerConfig 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"`
}
type HealthServerConfig ¶
type HealthServerConfig struct {
Host string `env:"HOST" envDefault:"0.0.0.0"`
Port string `env:"PORT" envDefault:"80"`
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"`
}
type MongoConfig ¶ added in v0.0.7
type MongoConfig struct {
URI string `env:"URI"`
DatabaseName string `env:"DATABASE_NAME"`
HealthCheckTimeout time.Duration `env:"HEALTHCHECK_TIMEOUT" envDefault:"2s"`
HealthCheckInterval time.Duration `env:"HEALTHCHECK_INTERVAL" envDefault:"10s"`
OperationTimeout time.Duration `env:"OPERATION_TIMEOUT" envDefault:"10s"`
MigrationTimeout time.Duration `env:"MIGRATION_TIMEOUT" envDefault:"15m"`
MigrationLeaseForTimeout time.Duration `env:"MIGRATION_LEASEFOR_TIMEOUT" envDefault:"30s"`
MigrationPollInterval time.Duration `env:"MIGRATION_POLL_INTERVAL" envDefault:"2s"`
MigrationServiceTimeout time.Duration `env:"MIGRATION_SERVICE_TIMEOUT" envDefault:"5s"`
}
type RegisterFunc ¶
Click to show internal directories.
Click to hide internal directories.