ExeMES поставляется в формате контейнеризированного приложения, которое может быть запущено как в Docker, так и в кластере Kubernetes.

Параметр

Значение

Процессор

Не менее 4 vCPU.

Частота – не ниже 2,6 ГГц.

Поддерживает работу с 64-разрядными приложениями на аппаратном уровне.

ОЗУ

Минимум 4 GB RAM

Свободное пространство на жестком диске

Объем – не менее 50 Гб.

Примечание: объем необходимого свободного места на жестком диске зависит от объема данных, поступающих и хранящихся в ExeMES, и определяется самостоятельно на основе опытной эксплуатации ПО.

Подготовка к установке

  1. На физическом или виртуальном хосте(ах), на которых планируется дальнейшее развертывание среды исполнения контейнеризированных приложений необходимо обязательно сконфигурировать ip адрес отличный от "127.0.0.1". Данный ip адрес далее должен использоваться как ip адрес хоста при выполнении пунктов инструкции.
  2. Подготовка среды для развертывания приложения (среда на выбор):

    1. Установка Docker

    2. Развертывание кластера Kubernetes

      Инструкция в разработке 

  3. Подготовка сертификатов 

  4. Настройка DNS

  5. Установка Guardant Control Center и Guardant SLK

Установка ExeMES

  • Установка ExeMES в Docker

    Для установки и запуска ExeMES необходимо распаковать архив, содержащий ПО ExeMES и предоставленный Вендором используя команду:

    gunzip -c exemes.tar.gz | tar -xvf –

    В результате у вас появится новый каталог exemes с необходимыми для запуска файлами.

    После чего необходимо отредактировать файл docker-compose.yaml, расположенный в корневой папке каталога:

    • заменить по тексту файла параметр [host_ip] на ip адрес хоста, на котором инсталлируется ПО;
    • заменить по тексту файла параметр [license_server_ip] на ip адрес хоста, на котором установлен сервер лицензирования Guardant Control Center.

    Затем необходимо скопировать в каталог /exemes/crt сгенерированные на предыдущих шагах сертификаты. Далее необходимо перейти в каталог, появившийся после распаковки архива, и выполнить команду:

    bash install_exemes.sh

    при этом произойдет загрузка образов, копирование данных и запуск сервисов.

    Если файл не запускается, измените права на этот файл командой:

    chmod g+x install_exemes.sh
  • Установка ExeMES в Kubernetes

    Инструкция в разработке

Настройка переменных окружения

Переменные окружения - набор значений, который определяет необходимые параметры работы и запуска приложений

Пакет инсталляции ExeMES уже содержит настроенные переменные окружения и если вы не планируете менять настройки по умолчанию, то можете пропустить данный шаг.

Доступные настройки:

При запуске контейнера ExeMES Middleware необходимо передать переменные окружения:

  • MESDBContext - строка подключения к БД MESDB с полными правами, содержит как строку подключения, так и данные пользователя (логин), под которым будет выполнятся взаимодействия сервиса с БД при выполнении операций, требующих неограниченный доступ к БД (на чтение и запись);
  • MESDBContextRO - строка подключения к БД MESDB с правами только на чтение, содержит как строку подключения, так и данные пользователя (логин), под которым будет выполнятся взаимодействия сервиса с БД при выполнении операций, требующих ограниченный доступ к БД (только на чтение), используется при выполнении API функций GesDsByFn и GetDsBySp;

Пример:

docker run [путь для скачивания образа приложения] -e MESDBContext='Server=localhost; User Id=middleware; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer' -e MESDBContextRO='Server=localhost; User Id=middleware_ro; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer'

Если у пользователя, данные которого передаются в переменной окружения MESDBContext отсутствуют права на создание объектов в БД, то необходимо дополнительно передать переменную окружения MESDBOwnerContext, которая содержит строку подключения к БД MESDB с правами владельца БД. Пример:

-e MESDBOwnerContext='Server=localhost; User Id=postgres; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer'

Стратегией работы с базой данных MESDB при запуске приложения можно управлять с помощью переменной окружения DBStrategyOnStartUp, которая может принимать следующие значения:

  • DoNothing - ничего не делать с БД при запуске приложения;
  • CreateIfNotExists - создать БД, если она еще не существует (эта опция применяется по умолчанию);
  • AlwaysReCreate - пересоздавать БД заново при каждом запуске приложения (эта стратегия может быть выбрана для тестового окружения);
  • AlwaysMigrate - автоматически обновлять версию БД при запуске приложения.

Пример:

-e DBStrategyOnStartUp='CreateIfNotExists'

CORS (Cross-Origin Resource Sharing) — это механизм браузера, который позволяет определить список ресурсов, к которым страница может получить доступ.

Он необходим для обеспечения безопасности и защиты пользователей от злоумышленников при использовании HTTP-протокола.

По умолчанию сайты могут запрашивать ресурсы только со своего origin. Такое ограничение называется Same-Origin Policy. CORS расширяет Same-Origin Policy, позволяя получать доступ к ресурсам с разных доменов.

Разрешения CORS могут потребоваться, если вы вызываете методы ExeMES  в сторонних приложениях: внешних пользовательских портала, таких как ELMA365 и прочие.

 Для разрешения CORS необходимо передать переменную окружения CORS, в которой через запятую перечислить разрешенные сайты. Пример:

-e CORS='https://elma365.exeplant.local,https://keycloak.exeplant.local'

Доступно начиная с версии 2.0

Опцией управления доступом к объектам из объектной модели можно управлять с помощью переменной окружения EntityAccessProtection, которая может принимать значения enabled (включение опции) и disabled (отключение опции). Пример:

-e EntityAccessProtection='enabled'

По умолчанию опция выключена

При запуске контейнеров ExeMES Client, ExeMES RuntimeClient или ExeSched необходимо передать в переменной окружения MiddlewareApiRootUri путь до сервиса ExeMES Server (Middleware). Пример:

docker run [путь для скачивания образа приложения] -e MiddlewareApiRootUri='https://mesmiddleware.myweb.local/api'

Приложения ExeMES RuntimeClient или ExeSched доступны начиная с версии 2.0

Доступно начиная с версии 2.0

При запуске контейнера ExeSched необходимо передать в переменной окружения DBConnection строку подключения к БД приложения ExeSched. Пример:

docker run [путь для скачивания образа приложения] -e DBConnection='Host=localhost;Port=5432;Database=exesched;Username=user;Password=pass'

Конфигурация подключения приложений ExeMES к серверу лицензирования задается в переменных окружения:

  • GCCSettings:Remotehosts - перечень серверов лицензирования (хостов, на которых необходимо осуществлять поиск лицензии). IP адреса серверов указываются через запятую. Пример:
    GCCSettings:Remotehosts="170.10.10.1, 170.10.10.2"

Проверка работоспособности ExeMES после установки

Проверить, что сервисы запустились, можно перейдя в браузере по адресу, указанному при установке: https:// [ip хоста, на который устанавливался ExeMES]/.

В случае корректной установки ПО ExeMES в браузере должно открыться окно авторизации ExeMES Client

В настройках контейнеров ExeMES по умолчанию указана синхронизация времени контейнера с временем хоста, на котором он запущен. Рекомендуется синхронизировать локальное время хостов, на которых запускаются контейнеры ExeMES с корпоративном ntp сервером.