versity/versitygw
GitHub: versity/versitygw
Versity 网关是一个高性能 S3 转换网关,解决应用与存储系统间协议兼容与集成问题。
Stars: 1684 | Forks: 204
# Versity S3 网关:
高性能 S3 转换服务
[](https://github.com/versity/versitygw/blob/main/LICENSE) [](https://goreportcard.com/report/github.com/versity/versitygw) [](https://pkg.go.dev/github.com/versity/versitygw)
### 二进制发行版
下载 [最新版本](https://github.com/versity/versitygw/releases)
| Linux/amd64 | Linux/arm64 | MacOS/amd64 | MacOS/arm64 | BSD/amd64 | BSD/arm64 |
|:-----------:|:-----------:|:-----------:|:-----------:|:---------:|:---------:|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
### 使用场景
* 单命令将本地文件系统变为 S3 服务器!
* 代理 S3 请求到 S3 存储
* 单命令简单部署 S3 服务器
* `posix` 协议兼容性允许通过 posix 或 S3 通用访问文件
* 简化新增存储系统支持接口
### WebGUI
获取更多关于新的(可选)WebGUI 管理/浏览器的详细信息:[https://github.com/versity/versitygw/wiki/WebGUI](https://github.com/versity/versitygw/wiki/WebGUI)

### 最新动态
查看最新维基文章:[https://github.com/versity/versitygw/wiki/Articles](https://github.com/versity/versitygw/wiki/Articles)
### 邮件列表
通过订阅 [versitygw 邮件列表](https://www.versity.com/products/versitygw#signup) 保持与最新网关公告同步。
### 文档
查看项目 [文档](https://github.com/versity/versitygw/wiki) 维基。
### 需要帮助?
在 [社区讨论](https://github.com/versity/versitygw/discussions) 中提问。
联系 [Versity 销售](https://www.versity.com/contact/) 讨论企业支持。 ### 概述 Versity 网关是一款用于在 AWS S3 对象命令与存储系统之间实现无缝内联转换的易用工具。Versity 网关弥合了依赖 S3 的应用程序与其他存储系统之间的差距,在提供卓越的可扩展性的同时,实现了更高的兼容性和集成能力。 该服务器将传入的 S3 API 请求翻译并转换为对后端服务的等效操作。通过利用此网关服务器,应用程序可以在 S3 兼容 API 上与已有的存储系统进行交互。此项目能够在利用现有基础设施投资的同时,无缝集成 S3 兼容系统,提供在管理数据存储方面的更高灵活性和兼容性。 Versity 网关专注于性能、简洁性和可扩展性。设计时考虑了模块化,便于未来扩展以支持更多后端存储系统。目前,Versity 网关支持任意通用 POSIX 文件后端存储、Versity 的开源 ScoutFS 文件系统、Azure Blob Storage 以及其他 S3 服务器。 网关完全无状态。多个 Versity 网关实例可以部署在集群中以提升整体吞吐量。Versity 网关的无状态架构允许任何网关处理任意请求,从而分发工作负载并提升性能。可以使用负载均衡器在网关集群间均匀分配请求以获得最佳性能。 S3 HTTP(S) 服务器和路由使用 [Fiber](https://gofiber.io) Web 框架实现。该框架专注于性能并积极开发。S3 API 兼容性在可能的情况下借助官方的 [aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) 以实现与 AWS S3 的最大服务兼容性。 ## 快速入门 查看 [快速入门](https://github.com/versity/versitygw/wiki/Quickstart) 文档。 ### 使用 posix 后端运行网关: ``` mkdir /tmp/vgw /tmp/vers ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw ``` 这将在当前主机上启用一个 S3 服务器,监听 10000 端口并托管目录 `/tmp/vgw`,旧版本对象存储在 `/tmp/vers`。这两个目录可以在同一文件系统内。`--iam-dir` 选项启用用于测试的简单 JSON 平文件账户。 要获取使用输出,运行: ``` ./versitygw --help ``` 命令格式为 ``` versitygw [global options] command [command options] [arguments...] ``` [全局选项](https://github.com/versity/versitygw/wiki/Global-Options) 在后端类型之前指定,后端选项在后端类型之后指定。 ### 测试与生产准备 VersityGW **经过实战检验且生产就绪**。每个拉取请求必须通过我们的综合测试套件才能被审查或合并。所有代码审查均由人工参与完成。LLMs 可用于增强审查流程,但永远不是唯一的审查者或决策者。参见 [测试](https://github.com/versity/versitygw/wiki/Testing) 获取高级测试文档。 #### 全面测试覆盖 我们的多层次测试策略包括: - **Go 单元测试文件** - 广泛的单元测试,包含竞态检测和代码覆盖率分析,覆盖核心功能、边界情况和错误处理。 - **集成测试脚本** - 在多个后端(POSIX、S3、Azure)和配置下的真实场景测试。 - **功能/回归测试** - 端到端 SDK 测试,验证完整工作流,包括全流程操作、POSIX 特定行为和 IAM 功能,并针对已解决的问题补充回归测试。 - **静态分析** - 使用 [staticcheck](https://staticcheck.dev) 进行静态分析检查。 - **系统测试** - 使用行业标准的 S3 客户端进行协议级验证: - AWS CLI - 官方 AWS 命令行工具 - s3cmd - 流行的 S3 客户端 - MinIO mc - 现代 S3 兼容客户端 - 使用 curl 进行直接 REST API 请求/响应验证 - **安全测试** - 测试 HTTP 和 HTTPS 配置。使用 govulncheck 进行漏洞扫描,并定期更新依赖项(dependabot)。 - **兼容性测试** - 多个后端、版本控制场景、静态桶模式和多种认证方法。 ### 在 Docker 中运行网关 像使用原生二进制一样使用发布的镜像,传递 CLI 参数: ``` docker run --rm versity/versitygw:latest --version ``` 有关在 Docker 中运行的更多文档,请参见 [Docker](https://github.com/versity/versitygw/wiki/Docker)。 ### 在 Kubernetes 上运行 提供 Helm Chart 以在 Kubernetes 环境中轻松运行 Versity: ``` helm install versitygw oci://ghcr.io/versity/versitygw/charts/versitygw ``` 有关更多信息和配置参数,请参考 [Chart 的 README](./chart/README.md)。 #### Versity 为您提供对归档存储的清晰度和控制,因此您可以将更多资源分配给核心任务。 ### 联系方式  info@versity.com
+1 844 726 8826 ### @versitysoftware [](https://www.linkedin.com/company/versity/) [](https://twitter.com/VersitySoftware) [](https://www.facebook.com/versitysoftware) [](https://www.instagram.com/versitysoftware/)
高性能 S3 转换服务
联系 [Versity 销售](https://www.versity.com/contact/) 讨论企业支持。 ### 概述 Versity 网关是一款用于在 AWS S3 对象命令与存储系统之间实现无缝内联转换的易用工具。Versity 网关弥合了依赖 S3 的应用程序与其他存储系统之间的差距,在提供卓越的可扩展性的同时,实现了更高的兼容性和集成能力。 该服务器将传入的 S3 API 请求翻译并转换为对后端服务的等效操作。通过利用此网关服务器,应用程序可以在 S3 兼容 API 上与已有的存储系统进行交互。此项目能够在利用现有基础设施投资的同时,无缝集成 S3 兼容系统,提供在管理数据存储方面的更高灵活性和兼容性。 Versity 网关专注于性能、简洁性和可扩展性。设计时考虑了模块化,便于未来扩展以支持更多后端存储系统。目前,Versity 网关支持任意通用 POSIX 文件后端存储、Versity 的开源 ScoutFS 文件系统、Azure Blob Storage 以及其他 S3 服务器。 网关完全无状态。多个 Versity 网关实例可以部署在集群中以提升整体吞吐量。Versity 网关的无状态架构允许任何网关处理任意请求,从而分发工作负载并提升性能。可以使用负载均衡器在网关集群间均匀分配请求以获得最佳性能。 S3 HTTP(S) 服务器和路由使用 [Fiber](https://gofiber.io) Web 框架实现。该框架专注于性能并积极开发。S3 API 兼容性在可能的情况下借助官方的 [aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) 以实现与 AWS S3 的最大服务兼容性。 ## 快速入门 查看 [快速入门](https://github.com/versity/versitygw/wiki/Quickstart) 文档。 ### 使用 posix 后端运行网关: ``` mkdir /tmp/vgw /tmp/vers ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw ``` 这将在当前主机上启用一个 S3 服务器,监听 10000 端口并托管目录 `/tmp/vgw`,旧版本对象存储在 `/tmp/vers`。这两个目录可以在同一文件系统内。`--iam-dir` 选项启用用于测试的简单 JSON 平文件账户。 要获取使用输出,运行: ``` ./versitygw --help ``` 命令格式为 ``` versitygw [global options] command [command options] [arguments...] ``` [全局选项](https://github.com/versity/versitygw/wiki/Global-Options) 在后端类型之前指定,后端选项在后端类型之后指定。 ### 测试与生产准备 VersityGW **经过实战检验且生产就绪**。每个拉取请求必须通过我们的综合测试套件才能被审查或合并。所有代码审查均由人工参与完成。LLMs 可用于增强审查流程,但永远不是唯一的审查者或决策者。参见 [测试](https://github.com/versity/versitygw/wiki/Testing) 获取高级测试文档。 #### 全面测试覆盖 我们的多层次测试策略包括: - **Go 单元测试文件** - 广泛的单元测试,包含竞态检测和代码覆盖率分析,覆盖核心功能、边界情况和错误处理。 - **集成测试脚本** - 在多个后端(POSIX、S3、Azure)和配置下的真实场景测试。 - **功能/回归测试** - 端到端 SDK 测试,验证完整工作流,包括全流程操作、POSIX 特定行为和 IAM 功能,并针对已解决的问题补充回归测试。 - **静态分析** - 使用 [staticcheck](https://staticcheck.dev) 进行静态分析检查。 - **系统测试** - 使用行业标准的 S3 客户端进行协议级验证: - AWS CLI - 官方 AWS 命令行工具 - s3cmd - 流行的 S3 客户端 - MinIO mc - 现代 S3 兼容客户端 - 使用 curl 进行直接 REST API 请求/响应验证 - **安全测试** - 测试 HTTP 和 HTTPS 配置。使用 govulncheck 进行漏洞扫描,并定期更新依赖项(dependabot)。 - **兼容性测试** - 多个后端、版本控制场景、静态桶模式和多种认证方法。 ### 在 Docker 中运行网关 像使用原生二进制一样使用发布的镜像,传递 CLI 参数: ``` docker run --rm versity/versitygw:latest --version ``` 有关在 Docker 中运行的更多文档,请参见 [Docker](https://github.com/versity/versitygw/wiki/Docker)。 ### 在 Kubernetes 上运行 提供 Helm Chart 以在 Kubernetes 环境中轻松运行 Versity: ``` helm install versitygw oci://ghcr.io/versity/versitygw/charts/versitygw ``` 有关更多信息和配置参数,请参考 [Chart 的 README](./chart/README.md)。 #### Versity 为您提供对归档存储的清晰度和控制,因此您可以将更多资源分配给核心任务。 ### 联系方式  info@versity.com
+1 844 726 8826 ### @versitysoftware [](https://www.linkedin.com/company/versity/) [](https://twitter.com/VersitySoftware) [](https://www.facebook.com/versitysoftware) [](https://www.instagram.com/versitysoftware/)
标签:Apache V2许可, Bing搜索, BSD, EVTX分析, Go语言, POSIX兼容, S3代理, S3网关, S3翻译服务, WebGUI管理, 云存储, 单命令部署, 存储系统, 对象存储网关, 开源网关, 探索器, 数据挖掘, 文件系统转S3, 日志审计, 本地存储, 程序破解, 跨平台支持, 高性能S3