Support S3 non-pathstyle (V2) #7006

Closed
opened 2025-11-02 07:13:22 -06:00 by GiteaMirror · 2 comments
Owner

Originally created by @OrvilleQ on GitHub (Mar 14, 2021).

Currently Gitea's S3 support only support path style which MinIO could handle with. But a lot of S3 provider out there do not support path style like AWS S3.

Amazon S3 currently supports two request URI styles in all regions: path-style (also known as V1) that includes bucket name in the path of the URI (example: //s3.amazonaws.com//key), and virtual-hosted style (also known as V2) which uses the bucket name as part of the domain name (example: //.s3.amazonaws.com/key).
Customers should update their applications to use the virtual-hosted style request format when making S3 API requests before September 30th, 2020 to avoid any service disruptions. Customers using the AWS SDK can upgrade to the most recent version of the SDK to ensure their applications are using the virtual-hosted style request format.

So please support non-pathtyle.

Originally created by @OrvilleQ on GitHub (Mar 14, 2021). Currently Gitea's S3 support only support path style which MinIO could handle with. But a lot of S3 provider out there do not support path style like AWS S3. > Amazon S3 currently supports two request URI styles in all regions: path-style (also known as V1) that includes bucket name in the path of the URI (example: //s3.amazonaws.com/<bucketname>/key), and virtual-hosted style (also known as V2) which uses the bucket name as part of the domain name (example: //<bucketname>.s3.amazonaws.com/key). > Customers should update their applications to use the virtual-hosted style request format when making S3 API requests before September 30th, 2020 to avoid any service disruptions. Customers using the AWS SDK can upgrade to the most recent version of the SDK to ensure their applications are using the virtual-hosted style request format. So please support non-pathtyle.
GiteaMirror added the type/proposal label 2025-11-02 07:13:22 -06:00
Author
Owner

@OrvilleQ commented on GitHub (Mar 14, 2021):

And also, S3 is a Object Storage standard created by Amazon and been widely used by other storage providers. I don't think named gitea's S3 storage support to MINIO, one of countless programs that support this standard, is a good move. It might be confusing, in especially if someone add other network storage solution to gitea like Swift or B2.

@OrvilleQ commented on GitHub (Mar 14, 2021): And also, S3 is a Object Storage standard created by Amazon and been widely used by other storage providers. I don't think named gitea's S3 storage support to MINIO, one of countless programs that support this standard, is a good move. It might be confusing, in especially if someone add other network storage solution to gitea like Swift or B2.
Author
Owner

@lunny commented on GitHub (Mar 14, 2021):

According minio golang sdk, https://docs.min.io/docs/golang-client-quickstart-guide.html

The MinIO Go Client SDK provides simple APIs to access any Amazon S3 compatible object storage.

And more Storage implementation PRs are welcome. See https://github.com/go-gitea/gitea/blob/master/modules/storage/storage.go#L66

@lunny commented on GitHub (Mar 14, 2021): According `minio` golang sdk, https://docs.min.io/docs/golang-client-quickstart-guide.html > The MinIO Go Client SDK provides simple APIs to access any Amazon S3 compatible object storage. And more `Storage` implementation PRs are welcome. See https://github.com/go-gitea/gitea/blob/master/modules/storage/storage.go#L66
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#7006