desync icon indicating copy to clipboard operation
desync copied to clipboard

container registry as chunk store

Open katexochen opened this issue 1 year ago • 5 comments

I would love to see container registries as supported chunk store backend. Container registries are widely available and often low cost. Supports read and write. The oras project already has a pretty good implementation of using container registries as content addressable storage and provides a go library that could be used by this project.

katexochen avatar Nov 30 '23 09:11 katexochen

The interface of that library looks quite similar to what we'd need to support registry stores. Do you happen to have an easy way to setup a local test-server that works with the oras lib?

Unfortunately, it'll be a while (a few weeks at least) before I can look into it.

folbricht avatar Dec 02 '23 16:12 folbricht

Thanks @folbricht, appreciate it. :)

Do you happen to have an easy way to setup a local test-server that works with the oras lib?

I've only ever used oras with ghcr.io, but I did some research and discovered a section in the oras e2e documentation about registry services for testing, looks like the main options for local testing are

e2e tests of oras also show how both can be setup, hope that helps.

katexochen avatar Dec 03 '23 10:12 katexochen

@katexochen I was thinking the same thing. Would u like to work on it together? i have some ideas.

emilebosch avatar Feb 19 '24 18:02 emilebosch

@emilebosch Feel free to give it a try. If you need any pointers where to start, here's a few:

  • You'll have to implement the Store and WriteStore interfaces here: https://github.com/folbricht/desync/blob/master/store.go#L16-L28
  • Depending on library support, perhaps the S3Store may be a good template: https://github.com/folbricht/desync/blob/master/s3.go
  • And then to use it from the command-line you'd need to come up with a way of specifying it, see the existing naming scheme in https://github.com/folbricht/desync/blob/master/cmd/desync/store.go#L130 Just ask if you need any help with that.

folbricht avatar Feb 27 '24 11:02 folbricht

@katexochen I was thinking the same thing. Would u like to work on it together? i have some ideas.

Sorry, I don't think I'll find the cycles to work on this soon, so feel free to take it away. :) Let me know if you hit any issues.

katexochen avatar Feb 27 '24 11:02 katexochen