Linode Object Storage and Minio Client (mc)

Hi there
I trying to use minio (mc) client for Object Storage

https://docs.min.io/docs/minio-client-complete-guide.html

But it looks like Linode Object Storage is not compatible with specification

mc --debug alias set linode-de https://bucket-name.eu-central-1.linodeobjects.com XXXXXXX YYYYYYYYY
mc: <DEBUG> GET /probe-bucket-sign-reejm4gx2ekw/?location= HTTP/1.1
Host: bucket-name.eu-central-1.linodeobjects.com
User-Agent: MinIO (linux; amd64) minio-go/v7.0.23
Authorization: AWS4-HMAC-SHA256 Credential=**REDACTED**/20220316/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20220316T165604Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 404 Not Found
Content-Length: 223
Accept-Ranges: bytes
Connection: keep-alive
Content-Type: application/xml
Date: Wed, 16 Mar 2022 16:56:05 GMT
X-Amz-Request-Id: tx000000000000009be7910-00623216a5-2b1c3e1-default

<?xml version="1.0" encoding="UTF-8"?><Error><Code>NoSuchKey</Code><BucketName>bucket-name</BucketName><RequestId>tx000000000000009be7910-00623216a5-2b1c3e1-default</RequestId><HostId>2b1c3e1-default-default</HostId></Error>mc: <DEBUG> TLS Certificate found:
mc: <DEBUG>  >> Country: US
mc: <DEBUG>  >> Organization: Let's Encrypt
mc: <DEBUG>  >> Expires: 2022-03-30 20:27:12 +0000 UTC
mc: <DEBUG> TLS Certificate found:
mc: <DEBUG>  >> Country: US
mc: <DEBUG>  >> Organization: Internet Security Research Group
mc: <DEBUG>  >> Expires: 2025-09-15 16:00:00 +0000 UTC
mc: <DEBUG> TLS Certificate found:
mc: <DEBUG>  >> Organization: Digital Signature Trust Co.
mc: <DEBUG>  >> Expires: 2024-09-30 18:14:03 +0000 UTC
mc: <DEBUG> Response Time:  484.199146ms

mc: <DEBUG> GET /probe-bucket-sign-reejm4gx2ekw/?location= HTTP/1.1
Host: bucket-name.eu-central-1.linodeobjects.com
User-Agent: MinIO (linux; amd64) minio-go/v7.0.23
Authorization: AWS4-HMAC-SHA256 Credential=**REDACTED**/20220316/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20220316T165605Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 404 Not Found
Content-Length: 223
Accept-Ranges: bytes
Connection: keep-alive
Content-Type: application/xml
Date: Wed, 16 Mar 2022 16:56:05 GMT
X-Amz-Request-Id: tx000000000000009aa675e-00623216a5-2b21647-default

<?xml version="1.0" encoding="UTF-8"?><Error><Code>NoSuchKey</Code><BucketName>bucket-name</BucketName><RequestId>tx000000000000009aa675e-00623216a5-2b21647-default</RequestId><HostId>2b21647-default-default</HostId></Error>mc: <DEBUG> TLS Certificate found:
mc: <DEBUG>  >> Country: US
mc: <DEBUG>  >> Organization: Let's Encrypt
mc: <DEBUG>  >> Expires: 2022-03-30 20:27:12 +0000 UTC
mc: <DEBUG> TLS Certificate found:
mc: <DEBUG>  >> Country: US
mc: <DEBUG>  >> Organization: Internet Security Research Group
mc: <DEBUG>  >> Expires: 2025-09-15 16:00:00 +0000 UTC
mc: <DEBUG> TLS Certificate found:
mc: <DEBUG>  >> Organization: Digital Signature Trust Co.
mc: <DEBUG>  >> Expires: 2024-09-30 18:14:03 +0000 UTC
mc: <DEBUG> Response Time:  94.663953ms

mc: <ERROR> Unable to initialize new alias from the provided credentials. The specified key does not exist.
 (5) alias-set.go:318 cmd.mainAliasSet(..) Tags: [linode-de, https://bucket-name.eu-central-1.linodeobjects.com, XXXXXXX, YYYYYYYYY]
 (4) alias-set.go:242 cmd.BuildS3Config(..) Tags: [https://bucket-name.eu-central-1.linodeobjects.com, XXXXXXX, YYYYYYYYY, , auto]
 (3) alias-set.go:216 cmd.probeS3Signature(..) Tags: [s3v4, s3v2]
 (2) alias-set.go:208 cmd.probeS3Signature.func1(..) Tags: [s3v2]
 (1) client-s3.go:1528 cmd.(*S3Client).Stat(..) Tags: [probe-bucket-sign-reejm4gx2ekw]
 (0) client-s3.go:2087 cmd.(*S3Client).bucketStat(..)
 Release-Tag:DEVELOPMENT.GOGET | Commit:DEVELOPMENT. | Host:lt | OS:linux | Arch:amd64 | Lang:go1.16 | Mem:2.5 MB/75 MB | Heap:2.5 MB/66 MB.

Do you have any ideas?

1 Reply

Use https://eu-central-1.linodeobjects.com without the bucket name as endpoint.

mc alias set linode-de https://eu-central-1.linodeobjects.com ZZZ YYY --api S3v4

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct