Обзор платформы¶
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.
Как интеграция попадает в кластер¶
- Разработчик создаёт проект в интерфейсе и описывает маршруты в дизайнере.
- Платформа сохраняет файлы проекта в своей базе. Кнопка «Push» отправляет их в git.
- Сборка запускает под сборщика. Сборщик берёт проект из git, собирает Maven-проект без доступа в интернет и публикует образ в реестр.
- Тот же сборщик применяет манифесты: в namespace появляются Deployment и Service с именем проекта.
- Для отладки проект можно запустить в 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. Они уже есть в чарте.
- Интерфейс перестроен: проекты, топология интеграций и дизайнер открываются из общего списка.