Конфигурация воркера

Воркер конфигурируется через переменные окружения Docker.

Для этого при запуске контейнера нужно указать переменные окружения. Например:

docker run -d --env EMCEE_WORKER_QUEUE_URL="http://<your hostname or ip>:41000" \ 
--name queue-worker1 \ 
--network emcee-network avitotech/emcee-worker:20.1.0

Здесь нужно заменить <your hostname or ip> на адрес вашего хоста или ip адрес машины, где запущена очередь.

Либо записать переменные окружения в файл .env и передать файл при старте контейнера:

docker run -d --env-file ./.env \
--name queue-worker1 \
--network emcee-network avitotech/emcee-worker:20.1.0

Доступные переменные окружения для конфигурации указаны в таблице:

Переменная Описание
EMCEE_WORKER_QUEUE_URL Url адрес очереди.
EMCEE_WORKER_PORT Сервисный порт воркера. По-умолчанию: 41001.
EMCEE_WORKER_LOG_LEVEL Уровень логгирования воркера. Доступные варианты: "verbose", "debug", "info", "warn", "critical".
EMCEE_WORKER_ARTIFACTS_DOWNLOAD_TIMEOUT_MS Таймаут загрузки apk файлов, указывается в миллисекундах.
EMCEE_WORKER_APK_INSTALLATION_TIMEOUT_MS Таймаут при установке apk файлов, указывается в миллисекундах.
EMCEE_WORKER_GRAPHITE_IS_ENABLED Включение или выключение метрик Graphite. Например, true или false.
EMCEE_WORKER_GRAPHITE_SOCKET_ADDRESS Хост адрес Graphite. Например, graphite.metrics.com
EMCEE_WORKER_GRAPHITE_SOCKET_PORT Порт сокета Graphite. Например, 2001.
EMCEE_WORKER_GRAPHITE_METRIC_PREFIX Префикс метрик Graphite. Например, apps.mobile.metrics.awesomeapp.
EMCEE_WORKER_KIBANA_ENDPOINTS Список из адреса и порта Kibana. Например, http://app-elasticsearch.com:9200. Адресов может быть несколько, разделять значения нужно через ,.
EMCEE_WORKER_KIBANA_INDEX_PATTERN Index pattern логов Kibana. Например, awesome-android-worker.
EMCEE_WORKER_ELASTIC_API_KEY api key для Elastic, параметр опциональный. Используется для авторизации в Elastic и будет отправлен в header запроса с логами. Поддержана авторизация типа api-key-service.
EMCEE_WORKER_KIBANA_IS_ENABLED Включение или выключение логов Kibana. Например, true или false.
EMCEE_WORKER_ARTIFACTORY_USERNAME Логин для авторизации в Artifactory. Поддержана авторизация типа Basic Authentication.
EMCEE_WORKER_ARTIFACTORY_PASSWORD Пароль для авторизации в Artifactory.

Переменные с настройками для Graphite, Kibana/Elastic, Artifactory опциональны.