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

Параметр

Значение

Процессор

Не менее 4 vCPU.

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

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

ОЗУ

Минимум 4 GB RAM

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

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

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

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

  1. Подготовка среды для развертывания приложения (среда на выбор):

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

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

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

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

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

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

Установка ExeMES

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

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

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

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

    Затем необходимо скопировать в каталог /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"

      Переменная используется в паре с переменной UseRemoteHosts

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

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

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

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