34 lines
2.3 KiB
Markdown
34 lines
2.3 KiB
Markdown
# Конфигурация приложения
|
||
|
||
/etc/surok/conf.d/app.json
|
||
```
|
||
{
|
||
"services": [
|
||
{
|
||
"name": "kioskservice",
|
||
"group": "production.romania",
|
||
"ports": ["web", "socket"]
|
||
}
|
||
],
|
||
"conf_name": "kiosk",
|
||
"template": "/etc/surok/templates/kiosk.jj2",
|
||
"dest": "/etc/nginx/sites-available/kioskservice.conf",
|
||
"reload_cmd": "/sbin/nginx -t && /bin/systemctl reload nginx",
|
||
"run_cmd": ["/usr/bin/node", "-c", "config.json"]
|
||
}
|
||
```
|
||
|
||
Давайте разберем конфигурационный файл по опциям
|
||
* services - array. Список хэшей с описанием сервисов
|
||
1. name - string. Имя сервиса. Это имя приложения в marathon
|
||
2. group - string. Группа в которой находится сервис. Группу можно узнать в marathon. Записывается в обратном порядке. Т.е. если у нас есть группа /webapps/php, то записывать её следует, как php.webapps.
|
||
Если группа не указана, то сурок ожидает группу в переменной окружения SUROK_DISCOVERY_GROUP, если и SUROK_DISCOVERY_GROUP нет, то берется группа marathon(0.5.5).
|
||
3. ports - array. Список имен портов сервиса. Не обязательная опция.
|
||
* conf_name - string. Название конфига. Должен быть уникальным значением. Слежит для создания и чтения lock конфигурации.
|
||
* template - string. Абсолютный путь к файлу шаблона.
|
||
* dest - string. Абсолютный путь к файлу в который запишется результат генерации шаблона.
|
||
* reload_cmd - string. Команда, которая будет выполнена в случае обноления конфига.
|
||
В reload_cmd можно использовать переменные окружения:
|
||
```"reload_cmd": "/usr/bin/killall -9 calc || true && /usr/local/bin/calc -c /app/calc.conf ${CALC_NUM}"```
|
||
* run_cmd(v0.6) - array. Список с командой на выполнение. Используется внутри контейнера вместо reload_cmd.
|