1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-29 20:13:27 +00:00
forgejo/modules
nekrondev 3c91b09c19
minio: add missing region on client initialization ()
The MinIO client isn't redirecting to the correct AWS endpoint if a
non-default data center is used.

In my use case I created an AWS bucket at `eu-central-1` region. Because
of the missing region initialization of the client the default
`us-east-1` API endpoint is used returning a `301 Moved Permanently`
response that's not handled properly by MinIO client. This in return
aborts using S3 storage on AWS as the `BucketExists()` call will fail
with the http moved error.

MinIO client trace shows the issue:

```text
---------START-HTTP---------
HEAD / HTTP/1.1
Host: xxxxxxxxxxx-prod-gitea-data.s3.dualstack.us-east-1.amazonaws.com
User-Agent: MinIO (windows; amd64) minio-go/v7.0.61
Authorization: AWS4-HMAC-SHA256 Credential=**REDACTED**/20230809/accesspoint.eu-central-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20230809T141143Z

HTTP/1.1 301 Moved Permanently
Connection: close
Content-Type: application/xml
Date: Wed, 09 Aug 2023 14:11:43 GMT
Server: AmazonS3
X-Amz-Bucket-Region: eu-central-1
X-Amz-Id-2: UK7wfeYi0HcTcytNvQ3wTAZ5ZP1mOSMnvRZ9Fz4xXzeNsS47NB/KfFx2unFxo3L7XckHpMNPPVo=
X-Amz-Request-Id: S1V2MJV8SZ11GEVN
---------END-HTTP---------
```

Co-authored-by: Heiko Besemann <heiko.besemann@qbeyond.de>
2023-08-10 11:21:09 +00:00
..
actions Fix the bug when getting files changed for pull_request_target event () 2023-08-05 14:26:06 +08:00
activitypub Update tool dependencies, lock govulncheck and actionlint () 2023-07-09 11:58:06 +00:00
analyze Rename code_langauge.go to code_language.go () 2023-08-07 15:00:53 -04:00
assetfs Skip unuseful error message in dev mode when watching local filesystem () 2023-07-17 09:47:55 +00:00
auth
avatar Remove nfnt/resize and oliamb/cutter () 2023-07-20 19:52:42 +08:00
base Replace interface{} with any () 2023-07-04 18:36:08 +00:00
cache improve unit test for caching () 2023-07-27 22:24:40 +02:00
charset Replace interface{} with any () 2023-07-04 18:36:08 +00:00
container
context Use template context function for avatar rendering () 2023-08-10 11:19:39 +08:00
csv
doctor Upgrade go dependencies () 2023-07-14 11:00:31 +08:00
emoji Update emoji set to Unicode 15 () 2023-06-29 16:29:48 +00:00
eventsource Less naked returns () 2023-07-07 05:31:56 +00:00
generate Bump github.com/golang-jwt/jwt to v5 () 2023-07-19 09:57:10 +00:00
git Make git batch operations use parent context timeout instead of default timeout () 2023-08-04 14:50:41 +02:00
gitgraph
graceful Allow the use of alternative net.Listener implementations by downstreams () 2023-07-24 07:18:17 +00:00
hcaptcha
highlight Upgrade go dependencies () 2023-07-14 11:00:31 +08:00
hostmatcher
html Refactor backend SVG package and add tests () 2023-08-05 04:34:59 +00:00
httpcache Less naked returns () 2023-07-07 05:31:56 +00:00
httplib Less naked returns () 2023-07-07 05:31:56 +00:00
indexer Refactor and enhance issue indexer to support both searching, filtering and paging () 2023-07-31 06:28:53 +00:00
issue/template Replace interface{} with any () 2023-07-04 18:36:08 +00:00
json Replace interface{} with any () 2023-07-04 18:36:08 +00:00
label
lfs
log Use stderr as fallback if the log file can't be opened () 2023-07-24 04:57:21 +00:00
markup Make user-content-* consistent with github () 2023-08-09 09:30:31 +00:00
mcaptcha
metrics
migration Replace interface{} with any () 2023-07-04 18:36:08 +00:00
mirror
nosql Update tool dependencies, lock govulncheck and actionlint () 2023-07-09 11:58:06 +00:00
notification Refactor and enhance issue indexer to support both searching, filtering and paging () 2023-07-31 06:28:53 +00:00
options
packages Prevent newline errors with Debian packages () 2023-08-05 10:59:52 +02:00
paginator
pprof
private Replace interface{} with any () 2023-07-04 18:36:08 +00:00
process Less naked returns () 2023-07-07 05:31:56 +00:00
proxy
proxyprotocol
public Serve pre-defined files in "public", add "security.txt", add CORS header for ".well-known" () 2023-07-21 12:14:20 +00:00
queue Calculate MAX_WORKERS default value by CPU number () 2023-07-27 16:40:35 +08:00
recaptcha
references
regexplru Upgrade go dependencies () 2023-07-14 11:00:31 +08:00
repository Refactor and enhance issue indexer to support both searching, filtering and paging () 2023-07-31 06:28:53 +00:00
secret
session Replace interface{} with any () 2023-07-04 18:36:08 +00:00
setting Pre-register OAuth2 applications for git credential helpers () 2023-08-09 14:24:07 +02:00
sitemap
ssh Fix admin queue page title () 2023-08-10 02:05:37 +00:00
storage minio: add missing region on client initialization () 2023-08-10 11:21:09 +00:00
structs Doc update swagger doc for POST /orgs/{org}/teams () 2023-07-26 10:22:56 +00:00
svg Refactor backend SVG package and add tests () 2023-08-05 04:34:59 +00:00
sync
system
templates Use template context function for avatar rendering () 2023-08-10 11:19:39 +08:00
test Start using template context function () 2023-08-08 01:22:47 +00:00
testlogger Replace interface{} with any () 2023-07-04 18:36:08 +00:00
timeutil
translation Replace interface{} with any () 2023-07-04 18:36:08 +00:00
turnstile
typesniffer
updatechecker
upload
uri
user
util Less naked returns () 2023-07-07 05:31:56 +00:00
validation Replace interface{} with any () 2023-07-04 18:36:08 +00:00
web Fix incorrect router logger () 2023-07-25 22:21:09 +00:00
webhook