config

package
v0.3.6 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2023 License: AGPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ENV_APP_CONFIG_FILE             = "APP_CONFIG_FILE"
	ENV_APP_META_ENTITY_CONFIG_FILE = "APP_META_ENTITY_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"`           // основной файл конфигурации
	ArgsMetaEntityConfigFile string `yaml:"args_meta_config_file" json:"args_meta_config_file"` // основной файл конфигурации Meta
	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"`           // основной файл конфигурации
	EnvMetaEntityConfigFile string `yaml:"env_meta_config_file" json:"env_meta_config_file"` // основной файл конфигурации Meta
	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"`                         // конфигурация сбора метрик

	ApiServiceCfg      *apiservice.Config      `yaml:"api_service" json:"api_service"`       // конфигурация API сервиса
	ApiCacheServiceCfg *apicacheservice.Config `yaml:"api_cache" json:"api_cache"`           // конфигурация API Cache сервиса
	ApiDbStorageCfg    *apidbstorage.Config    `yaml:"api_db_storage" json:"api_db_storage"` // конфигурация API сервиса БД

}

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