config

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2025 License: MIT Imports: 11 Imported by: 2

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               string          `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:"GRPC_HOST" envDefault:"0.0.0.0"`
		Port string `env:"GRPC_PORT" envDefault:"8080"`
	} `envPrefix:"GRPC_"`

	HTTP struct {
		Host              string        `env:"HTTP_HOST" envDefault:"0.0.0.0"`
		Port              string        `env:"HTTP_PORT" envDefault:"8080"`
		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:"HEALTH_PORT" envDefault:"80"`
	} `envPrefix:"HEALTH_"`

	GRPCServices []GRPCService `env:"-"`
}

func LoadConfig

func LoadConfig() (*AppConfig, error)

type ConfigProvider

type ConfigProvider interface {
	GetGRPCConfig() HTTPServerConfig
	GetHTTPConfig() HTTPServerConfig
	GetHealthConfig() HealthServerConfig
	GetGRPCServices() []GRPCService
}

type GRPCServerConfig

type GRPCServerConfig struct {
	Host              string
	Port              string
	ReadTimeout       time.Duration
	WriteTimeout      time.Duration
	IdleTimeout       time.Duration
	ReadHeaderTimeout time.Duration
}

type GRPCService

type GRPCService struct {
	Name     string
	Address  string
	Register RegisterFunc
}

type HTTPServerConfig

type HTTPServerConfig struct {
	Host              string
	Port              string
	ReadTimeout       time.Duration
	WriteTimeout      time.Duration
	IdleTimeout       time.Duration
	ReadHeaderTimeout time.Duration
}

type HealthServerConfig

type HealthServerConfig struct {
	Host string
	Port string
}

type RegisterFunc

type RegisterFunc func(context.Context, *runtime.ServeMux, *grpc.ClientConn) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL