It could well be that you have to provide the full region name, eg: region: "s3.us-east-1.amazonaws.com"
Incidently, I have this same problem with minio (as I don’t have access to aws), but I cannot provide a DNS style region name like you can. Nor can I disable it and not use a region altogether. Hence the above longer DNS entry should solve it for you.
I just thought I’d update this from my testing with S3 compatible storage, and the Gitlab docs are a bit hit-and-miss. In terms of AWS, and your situation, the following should work:
with the region name in full DNS format.
In a worse-case situation, whereby the region cannot be specified in full DNS format, like with minio, then you can use a config as below:
if I attempt to fill in the fields for endpoint, region, etc separately from the go_cloud_url, it won’t work with S3 compatible like minio. Hence combining the URL like I’ve done above with the shortened region name, with gitlab-backup being the bucket name.
“us-east-1” is mostly a string we provide to please things that validate the configuration, as can be seen from the fact the endpoint is set and points to something with our company name, we have our own S3-compatible storage. So putting amazonaws.com in anywhere is clearly wrong - and the region setting probably isn’t used anywhere. (And luckily we’re not in the US.)
I’ve put the parameters in a different order (go_cloud_url: 's3://oc-sys-infra-gitaly-gitlab4-repo-backup?endpoint=https://s3.<company name>&s3ForcePathStyle=true®ion=us-east-1', but combining it into a single string seems to work. It seems a bit silly to me that that works, but it does, and now I can go with evaluating if it is usable in our case.
Yep, I also assumed that by placing the entries separately as suggested by the docs, that it would concatenate the go_url from that data, only for it to then complain about the region not being a DNS entry.
It was the only way I found to get around it, for it to work with S3-compatible storage. I suppose could be worth opening an issue with Gitlab for them to actually resolve their configuration method properly without having to do it that way. But at least we have a workable solution and glad it worked for you too.