Documentation
¶
Index ¶
- type AppConfig
- func (p *AppConfig) GetAuthConfig() *AuthConfig
- 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 AuthConfig
- type GRPCServerConfig
- type GRPCService
- type HTTPServerConfig
- type HealthServerConfig
- type MongoConfig
- type RegisterEntry
- 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_"`
Auth AuthConfig `envPrefix:"AUTH_"`
Mongo MongoConfig `envPrefix:"MONGO_"`
GRPCServices []*GRPCService `env:"-"`
}
func LoadConfig ¶
func (*AppConfig) GetAuthConfig ¶ added in v0.2.1
func (p *AppConfig) GetAuthConfig() *AuthConfig
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
GetAuthConfig() *AuthConfig
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 AuthConfig ¶ added in v0.2.1
type AuthConfig struct {
AccessTokenTTL time.Duration `env:"ACCESS_TOKEN_TTL" envDefault:"15m"`
RefreshTokenTTL time.Duration `env:"REFRESH_TOKEN_TTL" envDefault:"720h"`
JWTIssuer string `env:"JWT_ISSUER" envDefault:"invenlore.identity"`
JWTAudience string `env:"JWT_AUDIENCE" envDefault:"invenlore.api"`
JWKSCacheTTL time.Duration `env:"JWKS_CACHE_TTL" envDefault:"10m"`
JWTAllowedSkew time.Duration `env:"JWT_ALLOWED_SKEW" envDefault:"60s"`
KeyRotationInterval time.Duration `env:"KEY_ROTATION_INTERVAL" envDefault:"168h"`
KeyRetireAfter time.Duration `env:"KEY_RETIRE_AFTER" envDefault:"1h"`
KeyRotationTickInterval time.Duration `env:"KEY_ROTATION_TICK_INTERVAL" envDefault:"10m"`
}
type GRPCServerConfig ¶
type GRPCService ¶
type GRPCService struct {
Name string
Address string
RegisterEntries []RegisterEntry
}
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 RegisterEntry ¶ added in v0.2.0
type RegisterEntry struct {
HandlerName string
HandlerRegisterFunc RegisterFunc
}
type RegisterFunc ¶
Click to show internal directories.
Click to hide internal directories.