keppel icon indicating copy to clipboard operation
keppel copied to clipboard

Local storage driver

Open rgl opened this issue 3 years ago • 5 comments

Is there a storage driver that could use the local filesystem? Or a remote S3 like one (e.g. minio)?

rgl avatar Aug 26 '22 17:08 rgl

Keppel currently only supports swift and in-memory (for testing only) storage drivers.

If you would want to implement a local or s3 storage driver it would need to implement this interface. You can take a look at the trivial storage driver and swift driver for an implementation of that interface. At the time of writing we don't have plans to implement a new driver because so far we had no requirement for it.

SuperSandro2000 avatar Aug 26 '22 20:08 SuperSandro2000

Thanks for the pointers. I will try to implement an s3 one. Would this be something that would be acceptable as a PR?

rgl avatar Aug 27 '22 15:08 rgl

I've actually started with the filesystem driver.

Can you have a look at https://github.com/rgl/keppel/pull/1? If you agree, I can make a PR to this repository instead.

rgl avatar Aug 27 '22 19:08 rgl

Would this be something that would be acceptable as a PR?

I need to double check that with a colleague but since the added code is rather small and it could be handy for local testing and debugging I thinking positively about it. But without the docker-compose part since we wouldn't be using and testing it.

I can make a PR to this repository instead.

Feel to do that already.

SuperSandro2000 avatar Aug 29 '22 10:08 SuperSandro2000

Should we also modify the trivial driver to use a memory fs (afero.NewMemMapFs())? Or do that in another PR?

rgl avatar Aug 29 '22 15:08 rgl

I would put that back for now. We may explore replacing the trivial driver completely with the filesystem driver because it should make debugging much easier but we haven't decided on that yet.

SuperSandro2000 avatar Sep 12 '22 08:09 SuperSandro2000