Создание и редактирование проекта
Предусловия
- пользователю назначена роль PROJECT_CREATOR в АС Мои доступы;
- пользователь получил у администратора URL-адрес сервера компонента;
- пользователь открыл в браузере URL-адрес GraDeLy.
Процесс
- Пользователь инициирует создание нового проекта в UI консоли.
- Браузер направляет POST-запрос на сервис консоли
/projectsс параметрами проекта в теле запроса. - Консоль подключается к служебной базе данных, куда записывает информацию о проекте.
- Консоль возвращает код 201 и JSON с описанием проекта.
- Проект визуально отображается в UI в зависимости от параметров из JSON-ответа.
- Пользователь инициирует редактирование проекта в UI консоли.
- Браузер направляет PUT-запрос на сервис консоли
/projects/{projectID}с измененными параметрами проекта в теле запроса. - Консоль обновляет информацию о проекте в базе данных.
- Консоль возвращает код 200 и JSON с описанием проекта.
- Информация о проекте обновляется в UI в соответствии с JSON-ответом.
- Пользователь инициирует удаление проекта в UI консоли.
- Браузер направляет DELETE-запрос на сервис консоли
/projects/{projectID}с параметрами проекта в теле запроса. - Консоль удаляет информацию о проекте из базы данных.
- Консоль возвращает код 204.
- Удаление проекта визуально отображается в UI.
Альтернативные сценарии
- Если в консоль направлено некорректное тело запроса о создании или редактировании проекта, возвращается ответ с кодом 400. Проект на стенде не создается и не редактируется, отображается сообщение об ошибке.
- Если в запросе о создании проекта нарушен первичный ключ, возвращается ответ с кодом 422. Новый проект на стенде не создается, отображается сообщение об ошибке.
- Если служебная БД недоступна, возвращается ответ с кодом 503. Проект на стенде не создается, не редактируется, не удаляется, отображается сообщение об ошибке.
- Если проект не найден в БД, возвращается ответ с кодом 404. Проект на стенде не редактируется, не удаляется, отображается сообщение об ошибке.
Создание проекта Kafka Connect
Трафик маршрутизируется через сервис-меш Istio. Istio перехватывает запрос и преобразует его в HTTPS:
-
Пользователь в UI указывает Kafka Connect Cluster:
-
Запрос отправляется из GraDeLy к Istio.
-
Istio перенаправляет его на эндпоинт Kafka Connect Cluster на сервере:
https://connect-service.internal:8443
примечаниеПорт
8443может быть изменен в параметреgrdl-console.kafka-connect.host.portв репозитории конфигурации. -
Kafka Connect Cluster получает запрос, выполняет операции (создание коннектора, получение статуса, удаление).
-
Ответ возвращается тем же путем в UI.
подсказка
Kafka Connect Cluster не требует настройки на разные внешние порты, все унифицируется через Istio.