surok/docs/ru/app.configuration.md

2.6 KiB
Raw Blame History

Конфигурация приложения

/etc/surok/conf.d/app.json

{
    "services": [
      {
        "name": "kioskservice",
        "group": "production.romania",
        "ports": ["web", "socket"]
      }
    ],
    "discovery": "mesos_dns",
    "group": "dev.web",
    "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.
  • discovery - Опциональный. переопределяет метод обнаружения сервисов для приложения
  • group - Опциональный. Группа по-умолчанию.