Перейти к основному содержимому

Создание и редактирование проекта

Предусловия​

  • пользователю назначена роль PROJECT_CREATOR в АС Мои доступы;
  • пользователь получил у администратора URL-адрес сервера компонента;
  • пользователь открыл в браузере URL-адрес GraDeLy.

Процесс​

  1. Пользователь инициирует создание нового проекта в UI консоли.
  2. Браузер направляет POST-запрос на сервис консоли /projects с параметрами проекта в теле запроса.
  3. Консоль подключается к служебной базе данных, куда записывает информацию о проекте.
  4. Консоль возвращает код 201 и JSON с описанием проекта.
  5. Проект визуально отображается в UI в зависимости от параметров из JSON-ответа.
  6. Пользователь инициирует редактирование проекта в UI консоли.
  7. Браузер направляет PUT-запрос на сервис консоли /projects/{projectID} с измененными параметрами проекта в теле запроса.
  8. Консоль обновляет информацию о проекте в базе данных.
  9. Консоль возвращает код 200 и JSON с описанием проекта.
  10. Информация о проекте обновляется в UI в соответствии с JSON-ответом.
  11. Пользователь инициирует удаление проекта в UI консоли.
  12. Браузер направляет DELETE-запрос на сервис консоли /projects/{projectID} с параметрами проекта в теле запроса.
  13. Консоль удаляет информацию о проекте из базы данных.
  14. Консоль возвращает код 204.
  15. Удаление проекта визуально отображается в UI.

Альтернативные сценарии​

  • Если в консоль направлено некорректное тело запроса о создании или редактировании проекта, возвращается ответ с кодом 400. Проект на стенде не создается и не редактируется, отображается сообщение об ошибке.
  • Если в запросе о создании проекта нарушен первичный ключ, возвращается ответ с кодом 422. Новый проект на стенде не создается, отображается сообщение об ошибке.
  • Если служебная БД недоступна, возвращается ответ с кодом 503. Проект на стенде не создается, не редактируется, не удаляется, отображается сообщение об ошибке.
  • Если проект не найден в БД, возвращается ответ с кодом 404. Проект на стенде не редактируется, не удаляется, отображается сообщение об ошибке.

Создание проекта Kafka Connect​

Трафик маршрутизируется через сервис-меш Istio. Istio перехватывает запрос и преобразует его в HTTPS:

  1. Пользователь в UI указывает Kafka Connect Cluster:

    http://connect-service.internal:9884

  2. Запрос отправляется из GraDeLy к Istio.

  3. Istio перенаправляет его на эндпоинт Kafka Connect Cluster на сервере:

    https://connect-service.internal:8443

    примечание

    Порт 8443 может быть изменен в параметре grdl-console.kafka-connect.host.port в репозитории конфигурации.

  4. Kafka Connect Cluster получает запрос, выполняет операции (создание коннектора, получение статуса, удаление).

  5. Ответ возвращается тем же путем в UI.

подсказка

Kafka Connect Cluster не требует настройки на разные внешние порты, все унифицируется через Istio.