Repolode
versity

versity/versitygw

S3-совместимый сервер объектного хранилища, который предоставляет доступ к POSIX-файловой системе и другим бэкендам через S3 API.

Open source альтернатива:MinIO

Звёзды
3,065
Форки
327
Открытые issues
125
Последний коммит
вчера

Что это?

Versity S3 Gateway — это сервер на Go, который принимает стандартные запросы S3 API и преобразует их в операции с бэкендом хранения. В README среди поддерживаемых бэкендов перечислены POSIX-файловые системы, ScoutFS от Versity, Azure Blob Storage и другие S3-серверы. Благодаря этому приложения, работающие с S3, могут использовать уже существующее хранилище без переноса данных.

Одной командой можно превратить локальный каталог в S3 endpoint, задав параметры для файлов с учетными записями, каталогов версионирования объектов и портов. Шлюз не хранит состояние, поэтому для увеличения пропускной способности можно запустить несколько экземпляров за балансировщиком нагрузки. Он построен на веб-фреймворке Fiber и использует aws-sdk-go-v2 для совместимости с AWS S3.

В проект также входят необязательный веб-интерфейс для управления и просмотра данных, хостинг статических сайтов с маршрутизацией по бакетам, а также Helm chart и Docker-образы для развертывания в Kubernetes и контейнерах.

Ключевые возможности

  • 01Преобразует запросы S3 API в операции с POSIX, ScoutFS, Azure Blob Storage и S3-бэкендами.
  • 02Запускает S3-сервер поверх локального каталога одной командой.
  • 03Благодаря отсутствию состояния можно масштабировать систему, запуская несколько экземпляров за балансировщиком нагрузки.
  • 04Поддерживает версионирование объектов через настраиваемый каталог версий.
  • 05Предлагает необязательный веб-интерфейс для управления и просмотра данных.
  • 06Поддерживает хостинг статических сайтов с маршрутизацией по виртуальным хостам.

Сценарии использования

  • Предоставление существующей файловой системы приложениям, работающим с S3, без копирования данных.
  • Локальное тестирование интеграций с S3 с помощью легковесного временного endpoint.
  • Предоставление доступа по S3 к Azure Blob Storage или другому S3-серверу.
  • Развертывание кластерного S3-шлюза в Kubernetes для архивных или HPC-нагрузок.

Быстрый старт

  1. 1

    Создайте тестовые каталоги

    mkdir /tmp/vgw /tmp/vers
  2. 2

    Запустите шлюз с бэкендом POSIX

    ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw
  3. 3

    Скачайте бинарный файл со страницы релизов или запустите образ Docker

Что важно знать

  • Подробности настройки описаны в вики, а в README не документирована установка через менеджер пакетов.
  • Для использования в production потребуется самостоятельно разместить сервис и настроить его.

Темы

Частые вопросы

Что такое versitygw?
S3-совместимый сервер объектного хранилища, который предоставляет доступ к POSIX-файловой системе и другим бэкендам через S3 API. Versity S3 Gateway — это сервер на Go, который принимает стандартные запросы S3 API и преобразует их в операции с бэкендом хранения. В README среди поддерживаемых бэкендов перечислены POSIX-файловые системы, ScoutFS от Versity, Azure Blob Storage и другие S3-серверы. Благодаря этому приложения, работающие с S3, могут использовать уже существующее хранилище без переноса данных.
versitygw можно использовать бесплатно? Какая у него лицензия?
versitygw распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
versitygw всё ещё поддерживается?
Активно поддерживается. Последний коммит в versitygw — 23 окт. 2026 г..
Для чего можно использовать versitygw?
Предоставление существующей файловой системы приложениям, работающим с S3, без копирования данных. Локальное тестирование интеграций с S3 с помощью легковесного временного endpoint. Предоставление доступа по S3 к Azure Blob Storage или другому S3-серверу. Развертывание кластерного S3-шлюза в Kubernetes для архивных или HPC-нагрузок.
Как установить versitygw?
Создайте тестовые каталоги: mkdir /tmp/vgw /tmp/vers Запустите шлюз с бэкендом POSIX: ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw Скачайте бинарный файл со страницы релизов или запустите образ Docker
Где скачать versitygw?
Исходный код и инструкции по установке — на GitHub: https://github.com/versity/versitygw

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты