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