config

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2023 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ENV_APP_CONFIG_FILE      = "APP_CONFIG_FILE"
	ENV_APP_HTTP_LISTEN_SPEC = "APP_HTTP_LISTEN_SPEC"
	ENV_APP_HTTP_USER        = "APP_HTTP_USER"
	ENV_APP_HTTP_PASS        = "APP_HTTP_PASS"
	ENV_APP_LOG_LEVEL        = "APP_LOG_LEVEL"
	ENV_APP_LOG_FILE         = "APP_LOG_FILE"
	ENV_APP_JWT_KEY          = "APP_JWT_KEY"
	ENV_APP_PG_HOST          = "APP_PG_HOST"
	ENV_APP_PG_PORT          = "APP_PG_PORT"
	ENV_APP_PG_DBNAME        = "APP_PG_DBNAME"
	ENV_APP_PG_USER          = "APP_PG_USER"
	ENV_APP_PG_PASS          = "APP_PG_PASS"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	MemoryLimit     int64         `yaml:"memory_limit" json:"memory_limit"`         // рекомендуемый предел памяти в байтах - использовать для запуска в контейнере
	ConfigFile      string        `yaml:"config_file" json:"config_file"`           // основной файл конфигурации
	ShutdownTimeout time.Duration `yaml:"shutdown_timeout" json:"shutdown_timeout"` // максимальное время жестокой остановки daemon

	ArgsConfigFile     string `yaml:"args_config_file" json:"args_config_file"`           // основной файл конфигурации
	ArgsHTTPListenSpec string `yaml:"args_http_listen_spec" json:"args_http_listen_spec"` // строка HTTP листенера из командной строки
	ArgsHTTPUser       string `yaml:"args_http_user" json:"args_http_user"`               // пользователь для HTTP Basic Authentication из командной строки
	ArgsHTTPPass       string `yaml:"args_http_pass" json:"args_http_pass"`               // пароль для HTTP Basic Authentication из командной строки
	ArgsJwtKey         string `yaml:"args_jwt_key" json:"args_jwt_key"`                   // JWT secret key из командной строки
	ArgsLogLevel       string `yaml:"args_log_level" json:"args_log_level"`               // уровень логирования из командной строки
	ArgsLogFile        string `yaml:"args_log_file" json:"args_log_file"`                 // расположение log файла
	ArgsPgHost         string `yaml:"args_pg_host" json:"args_pg_host"`                   // host БД
	ArgsPgPort         string `yaml:"args_pg_port" json:"args_pg_port"`                   // порт БД
	ArgsPgDBName       string `yaml:"args_pg_dbname" json:"args_pg_dbname"`               // имя БД
	ArgsPgUser         string `yaml:"args_pg_user" json:"args_pg_user"`                   // пользователь к БД
	ArgsPgPass         string `yaml:"args_pg_pass" json:"args_pg_pass"`                   // пароль пользователя БД

	EnvConfigFile     string `yaml:"env_config_file" json:"env_config_file"`           // основной файл конфигурации
	EnvHTTPListenSpec string `yaml:"env_http_listen_spec" json:"env_http_listen_spec"` // строка HTTP листенера из командной строки
	EnvHTTPUser       string `yaml:"env_http_user" json:"env_http_user"`               // пользователь для HTTP Basic Authentication из командной строки
	EnvHTTPPass       string `yaml:"env_http_pass" json:"env_http_pass"`               // пароль для HTTP Basic Authentication из командной строки
	EnvJwtKey         string `yaml:"env_jwt_key" json:"env_jwt_key"`                   // JWT secret key из командной строки
	EnvLogLevel       string `yaml:"env_log_level" json:"env_log_level"`               // уровень логирования из командной строки
	EnvLogFile        string `yaml:"env_log_file" json:"env_log_file"`                 // расположение log файла
	EnvPgHost         string `yaml:"env_pg_host" json:"env_pg_host"`                   // host БД
	EnvPgPort         string `yaml:"env_pg_port" json:"env_pg_port"`                   // порт БД
	EnvPgDBName       string `yaml:"env_pg_dbname" json:"env_pg_dbname"`               // имя БД
	EnvPgUser         string `yaml:"env_pg_user" json:"env_pg_user"`                   // пользователь к БД
	EnvPgPass         string `yaml:"env_pg_pass" json:"env_pg_pass"`                   // пароль пользователя БД

	// Конфигурация вложенных сервисов
	LoggerCfg            _log.Config        `yaml:"logger" json:"logger"`                           // конфигурация сервиса логирования
	HttpServerCfg        _httpserver.Config `yaml:"http_server" json:"http_server"`                 // конфигурация HTTP сервера
	HttpServiceCfg       _http.Config       `yaml:"http_service" json:"http_service"`               // конфигурация обработчиков HTTP запросов
	HttpHandlerCfg       httphandler.Config `yaml:"http_handler" json:"http_handler"`               // конфигурация обработчиков HTTP запросов
	HttpLoggerCfg        _httplog.Config    `yaml:"http_logger" json:"http_logger"`                 // конфигурация сервиса логирования HTTP трафика
	WorkerPoolServiceCfg _wpservice.Config  `yaml:"worker_pool_service" json:"worker_pool_service"` // конфигурация сервиса обработчиков
	MetricsCfg           _metrics.Config    `yaml:"metrics" json:"metrics"`                         // конфигурация сбора метрик
}

Config represent daemon options

func (*Config) LoadYamlConfig

func (cfg *Config) LoadYamlConfig(fileName string) error

LoadYamlConfig load configuration file

func (*Config) ValidateConfig

func (cfg *Config) ValidateConfig() error

ValidateConfig validate config

Jump to

Keyboard shortcuts

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