Загрузка файлов для сканирования#

Основной сценарий#

  1. Владелец проекта/Специалист ИБ/Разработчик (например, разработчик или CI-система) получает доступ к кластеру Kubernetes и переходит в раздел:
    Networking → Ingresses.

  2. Владелец проекта/Специалист ИБ/Разработчик находит в списке Ingresses ресурс, соответствующий сервису project-store, и копирует значение поля Host.

    Пример: project-store.asoc-dev.mycompany.

  3. Владелец проекта/Специалист ИБ/Разработчик открывает Postman и формирует HTTP-запрос:

    • Метод: POST

    • URL: https://<project-store-host>/v1/file/upload.

      Пример: https://project-store.asoc-dev.mycompany/v1/file/upload).

  4. На вкладке Body, Владелец проекта/Специалист ИБ/Разработчик:

    • Выбирает тип form-data.

    • В поле KEY указывает file (в виде текстового поля, не файла).

    • В соответствующем поле Value выбирает файл для загрузки (например, scan-results.json), тип — File.

  5. Владелец проекта/Специалист ИБ/Разработчик нажимает кнопку Send.

  6. Система:

    • Принимает файл.

    • Сохраняет его во временное хранилище.

    • Возвращает ответ с кодом 200 OK и телом, содержащим идентификатор загруженного файла:

       {
         "fileId": "fxx7bxx9-dxx2-4fxx-bxx5-xxe7xxa9xxc1"
       }
    
  7. Файл успешно загружен, fileId получен и может быть использован для запуска сканирования.

Исключительные сценарии#

  1. В поле Value не выбран файл:

    • Возвращается ошибка: 400 Bad Request.

    • Содержимое HTTP-ответа: {"error": "No file provided in 'file' field"}.

  2. Поле KEY заполнено не как file, а как upload, file_data:

    • Сервер игнорирует поле, возвращает 400 Bad Request.

  3. Недоступен сервер project-store:

    • Postman возвращает Error: Could not resolve host.

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

  1. Владелец проекта/Специалист ИБ/Разработчик использует команду для загрузки файла через curl:

       curl -X POST https://project-store.asoc-dev.mycompany/v1/file/upload \
         -H "Content-Type: multipart/form-data" \
         -F "file=@scan-results.json"
    
  2. Файл успешно загружен и может быть использован для запуска сканирования.