buildkit icon indicating copy to clipboard operation
buildkit copied to clipboard

cache: support Alibaba Cloud oss backend cache

Open njucjc opened this issue 2 years ago • 3 comments

Fix #4487

njucjc avatar Dec 20 '23 03:12 njucjc

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.

crazy-max avatar Dec 20 '23 15:12 crazy-max

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.

tonistiigi avatar Dec 20 '23 19:12 tonistiigi

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.

njucjc avatar Dec 21 '23 01:12 njucjc