Распределённая POSIX-файловая система, которая хранит данные в объектном хранилище, например S3, а метаданные — в Redis, MySQL, SQLite или TiKV.
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
Создайте тестовые каталоги
mkdir /tmp/vgw /tmp/vers - 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
Скачайте бинарный файл со страницы релизов или запустите образ 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 обновляется ежедневно.
Похожие проекты
Высокопроизводительная система объектного хранилища на Swift с поддержкой S3 — открытая альтернатива MinIO и RustFS.
Распределённая система хранения для S3, файловых систем POSIX и таблиц Iceberg/Lance из одного бинарного файла, рассчитанная на миллиарды небольших файлов.
RustFS — распределённая объектная система хранения данных на Rust с совместимостью с S3, лицензией Apache 2.0 и веб-консолью.
Эталонный сервер на Go для протокола tus: поддерживает возобновляемую загрузку файлов по HTTP на локальный диск, в Google Cloud Storage или S3.
Инструмент на Go, который объединяет несколько облачных дисков и хранилищ вроде S3 и WebDAV в одну локальную папку с совместимым с rclone сквозным шифрованием.