Skip to Content

Интеграция с S3-хранилищем

Для хранения файлов скринов, передаваемых роботами вместе с логами (RobotLogs), архивов дистрибутивов роботов и агентов (WebApi), а также NuGet-пакетов имеется возможность сконфигурировать службы RobotLogs, WebApi и NuGet для использования S3-хранилища (Minio) или файловой системы.

Настройка RobotLogs

В службе RobotLogs в секцию ScreenFileUpload требуется добавить параметры:

alt

Настройка WebApi

В службе WebApi требуется добавить секцию FileStore:

alt

Описание параметров подключения к S3 в ScreenFileUpload/FileStore

№п/пНаименование параметраНазначениеПримечание
1.StoreType/Type0 – файловое хранилище, 1 – S3 (minio)
2.Minio.EndpointАдрес конечной точки minio
3.Minio.AccessKeyПараметры доступа. Настраиваются администратором minio (см. рисунок ниже)
4.Minio.SecretKeyДолжен быть зашифрован утилитой шифрования
5.Minio.SSLУстанавливается в true, если minio настроен на использование https
6.Minio.FolderПуть к директории внутри бакетаНеобязательный параметр. По умолчанию: ”/” (корневая директория)

Параметры подключения к minio:

alt

Настройка общего бакета для нескольких служб

Начиная с версии Оркестратора 1.25.9, службы WebApi и NuGet поддерживают использование выделенных директорий внутри общего бакета Minio. Это позволяет централизованно управлять хранилищем и упростить его администрирование.

Конфигурация для WebApi

В службе WebApi в секции FileStore добавлен параметр Folder для указания целевой директории в бакете:

"FileStore": { "Type": 1, "Minio": { "Endpoint": "localhost:9000", "AccessKey": "your-access-key", "SecretKey": "encrypted-secret-key", "SSL": false, "Bucket": "common-bucket", "Folder": "webapi" // <- Новый параметр с версии 1.25.9 } }

Настройка NuGet

В службе NuGet настройка хранилища выполняется в секции Storage. Поддерживаются два типа хранилища: Minio (S3-совместимое хранилище) и FileSystem (файловая система).

Выбор типа хранилища

Параметр Type определяет, какое хранилище используется:

  • "Type": "Minio" — используется S3-хранилище (Minio)
  • "Type": "FileSystem" — используется файловая система

Конфигурация для Minio

"Storage": { "Type": "Minio" }, "Minio": { "Endpoint": "localhost:9000", "AccessKey": "d8J5XJvQHM5iGteIlCPv", "SecretKey": "0WbI3qwqpBGFMVCvszoq0a2KGzAz8kJJWXQEUkOu", "Bucket": "common-bucket", "Folder": "nuget", "SSL": false }

Параметры Minio:

ПараметрОписаниеЗначение по умолчанию
EndpointАдрес конечной точки minio
AccessKeyКлюч доступа
SecretKeyСекретный ключ (должен быть зашифрован)
BucketИмя бакета"nuget"
FolderДиректория внутри бакета"" (корневая директория)
SSLИспользовать HTTPSfalse

Конфигурация для FileSystem

"Storage": { "Type": "FileSystem" }, "FileSystem": { "Path": "C:\\OrchNuget" }

Параметры FileSystem:

ПараметрОписаниеЗначение по умолчанию
PathПуть к директории для хранения пакетов в файловой системеWindows: C:\OrchNuget
Linux: /opt/Primo

Примечание: Если параметр Path не указан или задан пустой строкой, используются пути по умолчанию в зависимости от операционной системы.

Использование общего бакета с Оркестратором

Для использования общего бакета между WebApi и NuGet нужно явно указать оба свойства:

"Bucket": "common-bucket", "Folder": "nuget"

Пустая строка "" и слэш "/" в параметре Folder работают одинаково — оба варианта означают корневую директорию бакета.