cache: support Alibaba Cloud oss backend cache
Fix #4487
Can we have integration tests similar to https://github.com/moby/buildkit/blob/fc9de56e9bbae3398f434a6949616091524d7994/client/client_test.go#L5224-L5260?
I see in the docs that we could use the S3 SDK to access OSS. Can we consider it to reduce dependencies overhead as we support S3 already?: https://www.alibabacloud.com/help/en/oss/developer-reference/use-amazon-s3-sdks-to-access-oss#section-sp0-q7h-dvj
This way we could use the same integration tests as s3 one using minio.
per discussion in https://github.com/moby/buildkit/issues/4487 I think we need to figure out some external plugin model for this instead as adding lots of builtin code for every possible vendor does not scale.
Isn't using s3 option for this case? There seems to be some compatibility.
per discussion in #4487 I think we need to figure out some external plugin model for this instead as adding lots of builtin code for every possible vendor does not scale.
Isn't using s3 option for this case? There seems to be some compatibility.
Yes, there are some compatibility between S3 and OSS driver, but in S3 cache code,it does not use concurrent multi-part upload when uploading blobs, so there may be some performance issues if the cached layer is large. https://github.com/moby/buildkit/blob/fc9de56e9bbae3398f434a6949616091524d7994/cache/remotecache/s3/s3.go#L424 I'm not sure if S3 can also implement concurrent multi-part uploads.
I agree we need to figure out some external plugin model for cache driver, I'd like to have a try, but it will be a long term case.