• KB Home
  • Документация edna Platform
  • Экземпляр программного обеспечения для проведения экспертной проверки
  • Техническая инструкция для проведения экспертной проверки

Техническая инструкция для проведения экспертной проверки

В соответствии с требованиями был подготовлен проверочный экземпляр программного обеспечения edna Platform, который эксперт сможет использовать у себя в тестовой среде в качестве удаленного доступа к инфраструктуре. Проверочный экземпляр поставляется в виде предустановленного, уже развернутого экземпляра edna Platform. Дополнительная установка экземпляра или его компонентов не требуется.

Обратите внимание, что взаимодействие с какими-либо другими внешними системами и продуктами не настроено.

Для тестирования вам необходимо:

  1. Произвести вход по предоставленным данным через VPN
  2. Подключиться к серверу по SSH-протоколу
  3. Провести на сервере необходимый аудит

Технические характеристики

  1. Операционная система: Debian GNU/Linux
  2. Кластер Kubernetes v1.24
  3. Доступ к тестовой инфраструктуре: удаленный по VPN и SSH

Вход через VPN

Подключение к VPN происходит с помощью сертификата пользователя, поставляемого в архиве.

Чтобы подключиться к нашим сервисам через VPN, сделайте следующее:

  1. Скачайте клиент OpenVPN для Windows отсюда.
  2. Установите клиент, выбирая настройки по умолчанию. После того как OpenVPN установится, в системном трее отобразится его иконка:
  3. Откройте пароли, необходимые для распаковки архива и подключения непосредственно к VPN Для этого перейдите по сгенерированной для вас ссылке в любом браузере, кроме Microsoft Edge и Internet Explorer.

    Страница с паролем будет выглядеть примерно как на следующем изображении:

Если вы откроете ссылку в Microsoft Edge или Internet Explorer, пароли не отобразятся, а ссылка перестанет быть действительной.
  1. Сохраните архив с сертификатом на свой компьютер и распакуйте его, используя Archive_pass.

  2. Вернитесь к значку OpenVPN в трее и, кликнув по нему правой кнопкой мыши, выберите пункт Импорт конфигурации.

  3. Выберите сертификат mfm-office (или mfm-prod), который вы распаковали ранее.


  4. Кликните ОК в сообщении об успешном завершении импорта файла.

  5. Откройте трей, правой кнопкой щелкните по иконке OpenVPN и выберите Подключиться. Программа начнет подключение. В процессе подключения откроется окно с запросом пароля.  Введите пароль, указанный в Access_pass (шаг 3), и нажмите OK. Не забудьте поставить галочку напротив Запомнить, чтобы не вводить пароль каждый раз.
  6. Проверьте иконку OpenVPN в трее. Если подключение установилось верно, она станет зеленой:

Подключение к серверу по SSH-протоколу

Для подключения к серверам по SSH-протоколу для проведения экспертной проверки был передан приватный SSH ключ. С использованием его можно подключиться ко всем четырём серверам.

Описание окружения

Наши сервисы работают в Kubernetes-кластере на 4 нодах: master и 3 worker.

РольIP адрес
master10.162.157.11
worker-0110.162.157.12
worker-0210.162.157.13
worker-0310.162.157.14

Сервисы ПО edna Platform (то есть скомпилированный код) запускаются в контейнерах, в которых приложение располагается в корневых директориях /app. Все содержимое директорий имеет распакованный формат.

После того как вы произвели вход на сервер, на ноде master вам будет доступна утилита kubectl. Эта команда возвращает список всех наших сервисов во всем кластере, с ее помощью можно попасть внутрь какого-либо контейнера тестового экземпляра ПО. На worker-нодах доступна утилита crictl для управления запущенными контейнерами на ноде.

Таким образом, вы можете попасть внутрь каждого контейнера и просмотреть его содержимое и процессы.

Неймспейсы

Продукт edna Platform занимает 4 неймспейса:

  • platform: здесь содержатся сервисы ПО edna Platform, основной неймспейс.  
  • kit: здесь расположен сервис redis, используемый в качестве in-memory кэша.
  • smq: здесь расположен open-source проект pulsar, который отвечает за очередь сообщений. ПО edna Platform использует этот проект для взаимодействия между своими сервисами.
  • com: здесь расположены базы данных для трёх частей ПО edna Platform: billing, operator, platform.

Как получить полный список контейнеров, используемых в edna Platform

  1. Подключитесь к VPN, как описано выше.
  2. Зайдите по SSH на master ноду 10.162.157.11.
  3. Используйте команду kubectl -n platform get pod -owide. Система выдаст список всех сервисов (контейнеров) ПО edna Platform, запущенных на разных нодах.
  4. Чтобы попасть в контейнер, используйте команду:
    kubectl -n platform exec -it <название пода> -- bash

Описание контейнеров

НазваниеОписание
adapter-implatformСервис для взаимодействия с продуктом IM-платформа
adapter-pushplatformСервис для взаимодействия с продуктом PUSH-платформа
adapter-smsplatformСервис для взаимодействия с продуктом SMS-платформа
billing-coreСервис для обработки трансакционных событий биллинга
billing-schedulerСервис-планировщик для задач биллинга, включающихся по расписанию
billing-smsСервис для биллинга SMS-сообщений, выставления счетов за услуги SMS
billing-viberСервис для биллинга Viber-сообщений, вставления счетов за услуги Viber
billing-whatsappСервис для биллинга WhatsApp-сообщений, вставления счетов за услуги WhatsApp
component-broadcast-executorСервис для массовой генерации исходящих сообщений (рассылок)
component-broadcast-managerСервис для управления жизненным циклом рассылок
component-broadcast-statisticСервис для сбора аналитической информации по запущенным рассылкам
component-callback-inmessageСервис для отправки клиентам информации о поступлении входящих сообщений в виде http callback
component-callback-statusСервис для отправки клиентам информации об изменении статуса исходящих сообщений в виде http callback
component-coreСервис для управления жизненным циклом каскадов сообщений (out super message) и генерации исходящих сообщений (out message)
component-flow-processorСервис для обработки автоматических цепочек диалога (чат-боты)
component-message-matcherСервис для проверки соответствия текста исходящего сообщения операторскому шаблону
component-persist-in-messageСервис для обогащения и сохранения в БД входящих сообщений
component-persist-statusСервис для обогащения и сохранения в БД статусов исходящих сообщений
component-routerСервис для маршрутизации сообщений внутри edna Platform
component-stage-prepareСервис для обработки жизненного цикла каскадов сообщений (out super message)
facade-internalapiСервис для отправки исходящих сообщений, используемый внутренними службами edna Platform
facade-jivoПубличный сервис для взаимодействия с edna Platform по протоколу клиента JivoSite
facade-public-jsonПубличный сервис для взаимодействия с edna Platform по протоколу JSON
server-authСервис для аутентификации и авторизации в личном кабинете edna Platform
server-broadcastСервис для управления рассылками, персональными шаблонами и операторскими шаблонами из личного кабинета edna Platform
server-channelprofileСервис для управления каналами связи (анкетами) из личного кабинета edna Platform
server-fileСервис для управления файлами из личного кабинета edna Platform, а также для взаимодействия с хранилищем файлов Minio S3
server-keycloakOpen-source-сервис аутентификации от компании Red Hat
server-notifyСервис для управления оповещением клиентов и сотрудников компании по email, Rocket Messenger и web-push
server-operator-importerСервис для получения из SMS-платформы информации об операторах сотовой связи, MNP-переходах между операторами и принадлежности номеров телефонов тому или иному оператору
server-phone-resolverСервис для получения информации об операторе, стране и регионе по номеру телефона
server-registrationСервис для регистрации в личном кабинете edna Platform
server-reportСервис для получения отчетов о пользовании услугами edna Platform в личном кабинете edna Platform
server-subscriberСервис для управления аудиторией клиента в личном кабинете edna Platform
server-tenantmanagementСервис для управления регистрационными данными клиента в личном кабинете edna Platform
Cледующая статья Пользовательская инструкция для проведения экспертной проверки