forgejo/modules
Giteabot 981ab48503
minio: add missing region on client initialization (#26412) (#26438)
Backport #26412 by @nekrondev

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: nekrondev <heiko@noordsee.de>
Co-authored-by: Heiko Besemann <heiko.besemann@qbeyond.de>
2023-08-10 14:11:22 +00:00
..
actions Fix activity type match in matchPullRequestEvent (#25746) (#25796) 2023-07-11 06:42:07 +00:00
activitypub
analyze
assetfs Skip unuseful error message in dev mode when watching local filesystem (#25919) (#25927) 2023-07-17 10:26:29 +00:00
auth Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
avatar Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
base Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
cache Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
charset Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
container
context Introduce ctx.PathParamRaw to avoid incorrect unescaping (#26392) (#26405) 2023-08-09 07:31:44 +00:00
csv Refactor locale number (#24134) 2023-04-17 11:37:23 +08:00
doctor Refactor path & config system (#25330) (#25416) 2023-06-22 16:27:18 +00:00
emoji
eventsource Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
generate
git Make git batch operations use parent context timeout instead of default timeout (#26325) (#26330) 2023-08-04 15:44:25 +02:00
gitgraph
graceful Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
hcaptcha
highlight
hostmatcher
html Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
httpcache Use standard HTTP library to serve files (#24693) 2023-05-13 16:04:57 +02:00
httplib Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
indexer Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
issue/template Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
json Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
label Make label templates have consistent behavior and priority (#23749) 2023-04-10 16:44:02 +08:00
lfs Rewrite logger system (#24726) 2023-05-21 22:35:11 +00:00
log Use stderr as fallback if the log file can't be opened (#26074) (#26083) 2023-07-24 05:58:16 +00:00
markup Disallow dangerous URL schemes (#25960) (#25964) 2023-07-18 19:48:52 +00:00
mcaptcha
metrics Use a separate admin page to show global stats, remove actions stat (#25062) 2023-06-03 22:03:41 +08:00
migration Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
mirror Improve queue and logger context (#24924) 2023-05-26 07:31:55 +00:00
nosql Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
notification Add Adopt repository event and handler (#25497) (#25518) 2023-06-26 20:09:07 +00:00
options Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
packages Prevent newline errors with Debian packages (#26332) (#26342) 2023-08-05 11:41:30 +02:00
paginator Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
pprof
private Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
process Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
proxy
proxyprotocol
public Use standard HTTP library to serve files (#24693) 2023-05-13 16:04:57 +02:00
queue Calculate MAX_WORKERS default value by CPU number (#26177) (#26183) 2023-07-27 19:24:07 +08:00
recaptcha
references
regexplru
repository Remove stars when repo goes private (#19904) 2023-06-05 13:25:43 +00:00
secret Improve decryption failure message (#24573) 2023-05-07 19:29:43 +08:00
session Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
setting Fix the wrong derive path (#26271) (#26318) 2023-08-04 06:24:13 +00:00
sitemap
ssh Fix admin queue page title and fix CI failures (#26409) (#26421) 2023-08-10 11:04:48 +02:00
storage minio: add missing region on client initialization (#26412) (#26438) 2023-08-10 14:11:22 +00:00
structs Adding remaining enum for migration repo model type. (#26021) (#26034) 2023-07-21 08:54:43 +02:00
svg Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
sync
system
templates Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
test Fix incorrect CLI exit code and duplicate error message (#26346) (#26347) 2023-08-05 23:37:04 +08:00
testlogger Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
timeutil Fix incorrect webhook time and use relative-time to display it (#24477) 2023-05-03 19:53:43 -04:00
translation Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
turnstile
typesniffer
updatechecker
upload
uri
user
util Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
validation Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
web Fix incorrect router logger (#26137) (#26143) 2023-07-26 08:37:43 +08:00
webhook New webhook trigger for receiving Pull Request review requests (#24481) 2023-05-24 22:06:27 -04:00