You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/modules
nekrondev 3c91b09c19
minio: add missing region on client initialization (#26412)
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>
11 months ago
..
actions Fix the bug when getting files changed for `pull_request_target` event (#26320) 11 months ago
activitypub Update tool dependencies, lock govulncheck and actionlint (#25655) 1 year ago
analyze Rename code_langauge.go to code_language.go (#26377) 11 months ago
assetfs Skip unuseful error message in dev mode when watching local filesystem (#25919) 12 months ago
auth Use a general approach to access custom/static/builtin assets (#24022) 1 year ago
avatar Remove nfnt/resize and oliamb/cutter (#25999) 12 months ago
base Replace `interface{}` with `any` (#25686) 1 year ago
cache improve unit test for caching (#26185) 11 months ago
charset Replace `interface{}` with `any` (#25686) 1 year ago
container Implement FSFE REUSE for golang files (#21840) 2 years ago
context Use template context function for avatar rendering (#26385) 11 months ago
csv Refactor locale number (#24134) 1 year ago
doctor Upgrade go dependencies (#25819) 12 months ago
emoji Update emoji set to Unicode 15 (#25595) 1 year ago
eventsource Less naked returns (#25713) 1 year ago
generate Bump github.com/golang-jwt/jwt to v5 (#25975) 12 months ago
git Make git batch operations use parent context timeout instead of default timeout (#26325) 11 months ago
gitgraph Add context cache as a request level cache (#22294) 1 year ago
graceful Allow the use of alternative net.Listener implementations by downstreams (#25855) 12 months ago
hcaptcha Consume hcaptcha and pwn deps (#22610) 1 year ago
highlight Upgrade go dependencies (#25819) 12 months ago
hostmatcher Implement FSFE REUSE for golang files (#21840) 2 years ago
html Refactor backend SVG package and add tests (#26335) 11 months ago
httpcache Less naked returns (#25713) 1 year ago
httplib Less naked returns (#25713) 1 year ago
indexer Refactor and enhance issue indexer to support both searching, filtering and paging (#26012) 11 months ago
issue/template Replace `interface{}` with `any` (#25686) 1 year ago
json Replace `interface{}` with `any` (#25686) 1 year ago
label Make label templates have consistent behavior and priority (#23749) 1 year ago
lfs Rewrite logger system (#24726) 1 year ago
log Use stderr as fallback if the log file can't be opened (#26074) 12 months ago
markup Make `user-content-* ` consistent with github (#26388) 11 months ago
mcaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
metrics Use a separate admin page to show global stats, remove `actions` stat (#25062) 1 year ago
migration Replace `interface{}` with `any` (#25686) 1 year ago
mirror Improve queue and logger context (#24924) 1 year ago
nosql Update tool dependencies, lock govulncheck and actionlint (#25655) 1 year ago
notification Refactor and enhance issue indexer to support both searching, filtering and paging (#26012) 11 months ago
options Use a general approach to access custom/static/builtin assets (#24022) 1 year ago
packages Prevent newline errors with Debian packages (#26332) 11 months ago
paginator Use more specific test methods (#24265) 1 year ago
pprof Implement FSFE REUSE for golang files (#21840) 2 years ago
private Replace `interface{}` with `any` (#25686) 1 year ago
process Less naked returns (#25713) 1 year ago
proxy Use proxy for pull mirror (#22771) 1 year ago
proxyprotocol Implement FSFE REUSE for golang files (#21840) 2 years ago
public Serve pre-defined files in "public", add "security.txt", add CORS header for ".well-known" (#25974) 12 months ago
queue Calculate MAX_WORKERS default value by CPU number (#26177) 11 months ago
recaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
references Use correct captured group range when parsing cross-reference (#22672) 1 year ago
regexplru Upgrade go dependencies (#25819) 12 months ago
repository Refactor and enhance issue indexer to support both searching, filtering and paging (#26012) 11 months ago
secret Improve decryption failure message (#24573) 1 year ago
session Replace `interface{}` with `any` (#25686) 1 year ago
setting Pre-register OAuth2 applications for git credential helpers (#26291) 11 months ago
sitemap Fix sitemap (#22272) 2 years ago
ssh Fix admin queue page title (#26409) 11 months ago
storage minio: add missing region on client initialization (#26412) 11 months ago
structs Doc update swagger doc for POST /orgs/{org}/teams (#26155) 12 months ago
svg Refactor backend SVG package and add tests (#26335) 11 months ago
sync Implement FSFE REUSE for golang files (#21840) 2 years ago
system Implement FSFE REUSE for golang files (#21840) 2 years ago
templates Use template context function for avatar rendering (#26385) 11 months ago
test Start using template context function (#26254) 11 months ago
testlogger Replace `interface{}` with `any` (#25686) 1 year ago
timeutil Fix incorrect webhook time and use relative-time to display it (#24477) 1 year ago
translation Replace `interface{}` with `any` (#25686) 1 year ago
turnstile Add new captcha: cloudflare turnstile (#22369) 1 year ago
typesniffer Do not recognize text files as audio (#23355) 1 year ago
updatechecker Implement FSFE REUSE for golang files (#21840) 2 years ago
upload Implement FSFE REUSE for golang files (#21840) 2 years ago
uri Implement FSFE REUSE for golang files (#21840) 2 years ago
user Implement FSFE REUSE for golang files (#21840) 2 years ago
util Less naked returns (#25713) 1 year ago
validation Replace `interface{}` with `any` (#25686) 1 year ago
web Fix incorrect router logger (#26137) 12 months ago
webhook New webhook trigger for receiving Pull Request review requests (#24481) 1 year ago