moby / buildkit

concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit
https://github.com/moby/moby/issues/34227
Apache License 2.0
8.21k stars 1.16k forks source link

Is there any plan to support to export/import image cache to/from Alibaba Cloud OSS ? #4487

Open njucjc opened 11 months ago

njucjc commented 11 months ago

buildkit support this cache type as following:

Is there any plan to support to export/import image cache to/from Alibaba Cloud OSS?

tonistiigi commented 11 months ago

There are no such plans afaik. While new backends can be added, not everything can be enabled by default because of the binary size. I don't know about this backend but general approach would be to use either a s3 or OCI compatibility layer in front of it.

jedevc commented 11 months ago

I know we've previously discussed storage plugins for buildkit for the result and cache exporters, so that we could split out the large dependencies into separate binaries. See https://github.com/moby/buildkit/issues/3037.

In that kind of architecture, support for Alibaba cloud could be done as a separate plugin. I don't think there's any current effort available to add exporter plugins at the time being, but contributions to add that to buildkit would always be welcome.

njucjc commented 11 months ago

I know we've previously discussed storage plugins for buildkit for the result and cache exporters, so that we could split out the large dependencies into separate binaries. See #3037.

In that kind of architecture, support for Alibaba cloud could be done as a separate plugin. I don't think there's any current effort available to add exporter plugins at the time being, but contributions to add that to buildkit would always be welcome.

@jedevc I will try to take over to add Alibaba Cloud OSS exporter

jedevc commented 11 months ago

I think there's a misunderstanding. As Tonis mentioned above:

While new backends can be added, not everything can be enabled by default because of the binary size.

We can't enable every cloud's support for this by default. It would make the distributed binary too large.

Above, I suggested that in a different architecture, where we implemented the plugins system from #3037, it would be possible to create an Alibaba cloud exporter - as a plugin, not built in.

I don't know about the idea of adding support for Alibaba cloud like we do for others - at the moment, we really just support storage in the big 3 clouds. Allowing more exporters in-tree opens the flood gates for everyone, which means the binary size grows even more.

njucjc commented 11 months ago

I think there's a misunderstanding. As Tonis mentioned above:

While new backends can be added, not everything can be enabled by default because of the binary size.

We can't enable every cloud's support for this by default. It would make the distributed binary too large.

Above, I suggested that in a different architecture, where we implemented the plugins system from #3037, it would be possible to create an Alibaba cloud exporter - as a plugin, not built in.

I don't know about the idea of adding support for Alibaba cloud like we do for others - at the moment, we really just support storage in the big 3 clouds. Allowing more exporters in-tree opens the flood gates for everyone, which means the binary size grows even more.

@jedevc OK,I got it