Перейти к содержанию

Обзор платформы

NEOMSA ESB нужна для разработки и запуска интеграций на Apache Camel в Kubernetes. Разработчик рисует маршруты в браузере, платформа хранит проекты в git, собирает из них контейнерные образы и разворачивает их в кластере.

Из чего состоит платформа

Компонент Назначение
Платформа NEOMSA ESB Веб-интерфейс и сервер на Quarkus 3.33. Хранит проекты, запускает сборку и развертывание, показывает состояние интеграций
PostgreSQL База платформы: проекты, файлы, пользователи, роли
Git-репозиторий интеграций Исходники всех проектов. Платформа читает и пишет одну ветку
Сборщик интеграций Под в кластере, который собирает проект в образ и разворачивает его. Использует офлайн-образ с готовым Maven-репозиторием
Реестр образов Хранит образы интеграций и базовые образы
Интеграции Приложения Camel 4.22.2 на Java 21. Каждая интеграция работает отдельным Deployment и Service
Провайдер OIDC (необязательно) Вход по единой учётной записи, например Keycloak
Наблюдаемость (необязательно) Prometheus и Grafana для метрик, ELK для логов, Elastic APM для трейсов

Сервер платформы работает на Java 25. Образ платформы поставляется в двух вариантах: на базе RED OS и на базе Alpine.

Как интеграция попадает в кластер

  1. Разработчик создаёт проект в интерфейсе и описывает маршруты в дизайнере.
  2. Платформа сохраняет файлы проекта в своей базе. Кнопка «Push» отправляет их в git.
  3. Сборка запускает под сборщика. Сборщик берёт проект из git, собирает Maven-проект без доступа в интернет и публикует образ в реестр.
  4. Тот же сборщик применяет манифесты: в namespace появляются Deployment и Service с именем проекта.
  5. Для отладки проект можно запустить в dev-режиме: платформа создаёт отдельный под и загружает в него файлы проекта без сборки образа.

Роли пользователей

Роль Что даёт
platform-admin Всё, включая разделы «Система» и «Доступ» и управление пользователями
platform-developer Работа с проектами и интеграциями
platform-operator Роль для эксплуатации. Отдельных прав в текущей версии не даёт
platform-user Вход в платформу

Проверка ролей в текущей версии есть только у управления пользователями. Любой вошедший пользователь может создать, изменить и удалить любой проект. Подробнее в разделе Безопасность.

Чем 4.22.2 отличается от 4.18.1

  • Обновлены Apache Camel (4.22.2) и Quarkus (3.33.4.1). Сервер платформы перешёл на Java 25.
  • Изменился порядок сборки: сборщик получает скрипт сборки от платформы по адресу http://neomsa-esb.<namespace>, поэтому Service платформы должен называться neomsa-esb.
  • Интеграциям нужны параметры camel.management.enabled=true и camel.management.port=9876. Без первого не работают адреса /observe/health и /observe/metrics. На порту 9876 платформа опрашивает интеграции о состоянии маршрутов.
  • Новые права в Kubernetes: чтение логов подов, событий и ServiceAccount. Они уже есть в чарте.
  • Интерфейс перестроен: проекты, топология интеграций и дизайнер открываются из общего списка.