0.1.9 • Published 3 years ago
docker-app-starter v0.1.9
Docker app starter
Информация
Сервер центральной системы конфигурации.
Оглавление
Установка и использование
пример установки: npm install docker-app-starter -g
пример запуска: docker-app-starter -c config.toml
Таблица ключей запуска
Ключ | Описание |
---|---|
--version, -v | вывести номер версии приложения |
--help, -h | вызвать справку по ключам запуска |
--config, -c | путь к файлу конфигурации в формате toml или json, (переменная среды: DOCKER_APP_STARTER_CONFIG_PATH) |
Конфигурация
Программа настраивается через файл конфигурации двух форматов TOML или JSON. Так же можно настраивать через переменные среды, которые будут считаться первичными.
Секции файла конфигурации
- logger - настрока логгера (переменная среды: DOCKER_APP_STARTER_LOGGER)
- app - массив настроек процессов (переменная среды: DOCKER_APP_STARTER_APP)
- app.env - настройка переменных среды для процесса (переменная среды: DOCKER_APP_STARTER_APP_ENV)
Пример файла конфигурации config.toml
[logger] # настройка логгера
mode = "prod" # режим (prod или dev или debug)
enable = true # активация логгера
timestamp = false # выводить время лога (true или false)
type = true # выводить тип лога (true или false)
[[app]] # массив настроек процессов
name = "app" # имя процесса (должно быть уникальным)
cwd = "./" # рабочая папка процесса
command = "/bin/sh" # команда запуска приложения
critical = true # критичность процесса (true или false)
restart = false # перезагрузка при закрытии (игнорируется если critical = true)
restart_interval = 2 # интервал перезагрузки (активируется при ключе restart = true)
[app.env] # настройка переменных среды для процесса
scope = "all" # применяемые пространства (none, app, os, all)
include_regexp = ".*" # regexp для переменных вхождения
[app.env.keys] # переменные пространства "app"
APP_NAME = "app-name"
Настройка через переменные среды
Ключи конфигурации можно задать через переменные среды ОС. Имя переменной среды формируется из двух частей, префикса DOCKER_APP_STARTER_
и имени переменной в верхнем реестре. Если переменная вложена, то это обозначается символом _
. Переменные среды имеют высший приоритет.
пример для переменной logger.mode: DOCKER_APP_STARTER_LOGGER_MODE
Таблица параметров конфигурации
Параметр | Тип | Значение | Описание |
---|---|---|---|
logger.mode | строка | prod | режим отображения prod, dev или debug |
logger.enable | логический | true | активация логгера |
logger.timestamp | логический | false | выводить время лога (true или false) |
logger.type | логический | true | выводить тип лога (true или false) |
app.name | строка | имя процесса (должно быть уникальным) | |
app.cwd | строка | ./ | рабочая папка процесса |
app.command | строка | /bin/sh | команда запуска приложения |
app.critical | логический | true | критичность процесса (true или false) |
app.restart | логический | false | перезагрузка при закрытии (игнорируется если critical = true) |
app.restart_interval | число | 2 | интервал перезагрузки (активируется при ключе restart = true) |
app.env.scope | строка | all | применяемые пространства (none, app, os, all) |
app.env.include_regexp | строка | .* | regexp для переменных вхождения |
app.env.keys | объект | {} | переменные пространства "app" |