S3-совместимое хранилище 
ТестОпс хранит артефакты из результатов тестов и тест-кейсов в отдельном объектном хранилище (см. Архитектура).
Требования и рекомендации к S3-совместимому хранилищу 
Производственная среда 
Не размещайте хранилище артефактов на одном диске с базой данных ТестОпс. Разделение позволит избежать конкуренции за ресурсы ввода-вывода и гарантирует стабильную работу как хранилища, так и базы данных.
Если вы используете Kubernetes, подключайте хранилище с помощью CSI-драйвера.
Аппаратное обеспечение 
Для хранения артефактов в S3-совместимом хранилище используйте только SSD, предпочтительно корпоративного класса. HDD ухудшат производительность ТестОпс по мере увеличения количества хранимых артефактов.
Класс хранения 
Используйте стандартный класс хранения, рассчитанный на частый доступ к данным. Классы для «холодного» хранения (например, Reduced Redundancy Storage, Cold Tier) могут значительно замедлить работу с артефактами и повлиять на производительность всей системы.
Решения для S3-совместимых хранилищ 
Наиболее надежный и производительный вариант объектного хранилища, который рекомендуется использовать для крупных развертываний ТестОпс с высокой нагрузкой, — Amazon S3. Объектное хранилище также может быть реализовано с помощью MinIO, Google Cloud Storage или любого другого решения, совместимого с S3.
Amazon S3 
Чтобы использовать хранилище Amazon S3 с ТестОпс, создайте следующую политику доступа в консоли AWS:
json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "S3assets",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:ListBucket",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": ["arn:aws:s3:::<ALLURE_S3_BUCKET_NAME>/*", "arn:aws:s3:::<ALLURE_S3_BUCKET_NAME>"]
    }
  ]
}Google Cloud Storage 
Для использования Google Cloud Storage в качестве хранилища ТестОпс вам нужно создать бакет с типом контроля доступа fine-grained и настроить списки контроля доступа (ACL) для разрешения доступа к бакету.
В качестве URL-адреса сервера в файле конфигурации ТестОпс укажите https://storage.googleapis.com.
Миграция данных в MinIO при развертывании с помощью Docker Compose 
Если вы используете версию ТестОпс для демонстрационного развертывания (testops-demo) и планируете переход на производственную среду, следуйте инструкции ниже, чтобы перенести артефакты ТестОпс в отдельное хранилище MinIO. Эта инструкция также может быть полезна, если вы работаете с развертыванием Docker Compose в течение долгого времени и артефакты ТестОпс хранятся в файловой системе Docker-томов.
Важно
Прямое копирование файлов может привести к неправильным правам доступа и неточным метаданным MinIO. Мы настоятельно рекомендуем использовать приложение MinIO CLI для массовой миграции файлов.
- Убедитесь, что целевой сервис хранения запущен и доступен с вашего компьютера. 
- В вашем файле .env добавьте параметры подключения к целевому сервису хранения: - TESTOPS_S3_URL_NEW— URL-адрес сервера;
- TESTOPS_S3_BUCKET_NEW— имя S3-бакета;
- TESTOPS_S3_ACCESS_KEY_NEW— ключ доступа для подключения к S3-бакету;
- TESTOPS_S3_SECRET_KEY_NEW— секретный ключ для подключения к S3-бакету.
 
- В вашем файле docker-compose.yml добавьте конфигурацию сервиса - minio-migrate:yaml- services: minio-migrate: restart: "no" image: minio/mc container_name: minio-migrate depends_on: - minio-local networks: - testops-net entrypoint: "/bin/sh -c" command: > mc config host add minio-old ${DEMO_INSTANCE_S3_URL} ${DEMO_INSTANCE_S3_ACCESS_KEY} ${DEMO_INSTANCE_S3_SECRET_KEY} --api S3v4 && mc config host add s3-new ${TESTOPS_S3_URL_NEW} ${TESTOPS_S3_ACCESS_KEY_NEW} ${TESTOPS_S3_SECRET_KEY_NEW} --api S3v4 && mc cp -r minio-old/${DEMO_INSTANCE_S3_BUCKET}/v2 s3-new/${TESTOPS_S3_BUCKET_NEW}/ # ...
- Перейдите в директорию, где расположены файлы docker-compose.yml и .env, и выполните команду: sh- docker compose run minio-migrate

